Reservation based prioritization method for wireless transmission of latency and jitter sensitive IP-flows in a wireless point to multi-point transmission system

ABSTRACT

A wireless telecommunications network having superior quality of service is provided. A system and method for assigning future slots of a transmission frame to a data packet in the transmission frame for transmission over a wireless telecommunication network system includes applying an advanced reservation algorithm, reserving a first slot for a first data packet of an internet protocol (IP) flow in a future transmission frame based on the algorithm, reserving a second slot for a second data packet of the IP flow in a transmission frame subsequent in time to the future transmission frame based on the algorithm, wherein the second data packet is placed in the second slot in an isochronous manner to the placement of the first data packet in the first slot. There may be a periodic variation between the placement of the first data packet in the first slot and the placement of second data packet in the second slot or no periodic variation between placements of slots. The advanced reservation algorithm makes a determination whether the IP flow is jitter-sensitive.

This application claims benefit of priority from U.S. Provisional PatentApplication No. 60/092,452, filed Jul. 10, 1998.

CROSS-REFERENCE TO OTHER APPLICATIONS

The following applications of common assignee contain common disclosure:

U.S. Patent Application entitled “Transmission Control Protocol/InternetProtocol (TCP/IP) Packet-Centric Wireless Point to Multi-Point (PtMP)Transmission System Architecture,” filed Jul. 9, 1999, U.S. applicationSer. No. 09/349,477.

U.S. Patent Application entitled “Quality of Service Aware (QoS)—AwareWireless Point to Multi-Point (PtMP) Transmission System Architecture,”filed Jul. 9, 1999, U.S. application Ser. No.09/349,480.

U.S. Patent Application entitled “Method for Providing Dynamic BandwidthAllocation Based on IP-Flow Characteristics in a Wireless Point toMulti-Point (PtMP) Transmission System,” filed Jul. 9, 1999, U.S.application Ser. No. 09/350,126.

U.S. Patent Application entitled “Method for Providing for Quality ofService (QoS)—Based Handling of IP-Flows in a Wireless Point toMulti-Point Transmission System,” filed Jul. 9, 1999, U.S. applicationSer. No. 09/350,118.

U.S. Patent Application entitled “IP-Flow Identification in a WirelessPoint to Multi-Point Transmission System,” filed Jul. 9, 1999, U.S.application Ser. No. 09/347,856.

U.S. Patent Application entitled “IP-Flow Characterization in a WirelessPoint to Multi-Point (PtMP) Transmission System,” filed Jul. 9, 1999,U.S. application Ser. No. 09/350,150.

U.S. Patent Application entitled “IP-Flow Classification in a WirelessPoint to Multi-Point (PtMP) Transmission System,” filed Jul. 9, 1999,U.S. application Ser. No. 09/350,156.

U.S. Patent Application entitled “IP-Flow Prioritization in a WirelessPoint to Multi-Point (PtMP) Transmission System,” filed Jul. 9, 1999,U.S. application Ser. No. 09/349,476.

U.S. Patent Application entitled “Method of Operation for Providing forService Level Agreement (SLA) Based Prioritization in a Wireless Pointto Multi-Point (PtMP) Transmission System,” filed Jul. 9, 1999, U.S.application Ser. No. 09/350,170.

U.S. Patent Application entitled “Method for Transmission ControlProtocol (TCP) Rate Control With Link-Layer Acknowledgments in aWireless Point to Multi-Point (PtMP) Transmission System,” filed Jul. 9,1999, U.S. application Ser. No. 09/349,481.

U.S. Patent Application entitled “Transmission Control Protocol/InternetProtocol (TCP/IP)—Centric QoS Aware Media Access Control (MAC) Layer ina Wireless Point to Multi-Point (PtMP) Transmission System,” filed Jul.9, 1999, U.S. Application. Serial No. 09/350,159.

U.S. Patent Application entitled “Use of Priority-Based Scheduling forthe Optimization of Latency and Jitter Sensitive IP Flows in a WirelessPoint to Multi-Point Transmission System,” filed Jul. 9, 1999, U.S.application Ser. No. 09/347,857.

U.S. Patent Application entitled “Time Division Multiple Access/TimeDivision Duplex (TDMA/TDD) Access Method for a Wireless Point toMulti-Point Transmission System,” filed Jul. 9, 1999, U.S. applicationSer. No. 09/349,475.

U.S. Patent Application entitled “Translation of Internet-PrioritizedInternet Protocol (IP)-Flows into Wireless System Resource Allocationsin a Wireless Point to Multi-Point (PtMP) Transmission System,” filedJul. 9, 1999, U.S. application Ser. No. 09/349,479.

U.S. Patent Application entitled “Method of Operation for theIntegration of Differentiated services (Diff-serv) Marked IP-Flows intoa Quality of Service (QoS) Priorities in a Wireless Point to Multi-Point(PtMP) Transmission System,” filed Jul. 9, 1999, U.S. application Ser.No. 09/350,162.

U.S. Patent Application entitled “Method for the Recognition andOperation of Virtual Private Networks (VPNs) over a Wireless Point toMulti-Point (PtMP) Transmission System,” filed Jul. 9, 1999, U.S.application Ser. No. 09/349,975.

U.S. Patent Application entitled “Time Division Multiple Access/TimeDivision Duplex (TDMA/TDD) Transmission Media Access Control (MAC) AirFrame,” filed Jul. 9, 1999, U.S. application Ser. No. 09/350,173.

U.S. Patent Application entitled “Application—Aware, Quality of Service(QoS) Sensitive, Media Access Control (MAC) Layer,” filed, Jul. 9, 1999,U.S. application Ser. No. 09/349,482.

U.S. Patent Application entitled “Transmission Control Protocol/InternetProtocol (TCP/IP) Packet-Centric Wireless Point to Point (PtP)Transmission System Architecture,” filed Jul. 9, 1999, U.S. applicationSer. No. 09/349,478.

U.S. Patent Application entitled “Transmission Control Protocol/InternetProtocol (TCP/IP) Packet-Centric Cable Point to Multi-Point (PtMP)Transmission System Architecture,” filed Jul. 9, 1999, U.S. applicationSer. No. 09/349,474.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to telecommunications and, moreparticularly, to a system and method for implementing a QoS awarewireless point-to-multi-point transmission system.

2. Related Art

Telecommunication networks such as voice, data and video networks haveconventionally been customized for the type of traffic each is totransport. For example, voice traffic is very latency sensitive butquality is less important, so voice networks are designed to transportvoice traffic with limited latency. Traditional data traffic, such as,e.g., a spreadsheet, on the other hand is not latency sensitive, buterror-free delivery is required. Conventional telecommunicationsnetworks use circuit switching to achieve acceptable end user quality ofservice (QoS). With the advent of new packet switching high bandwidthdata networks, different types of traffic can be transported over a datanetwork. Specifically, convergence of separate voice, data and videonetworks into a single broadband telecommunications network is enabled.To ensure end user satisfaction, a system is desired that provides QoSfor various types of traffic to be transported.

Wireless networks present particular challenges over their wirelinecounterparts in delivering QoS. For example, wireless networkstraditionally exhibit high bit error rates (BER) due to a number ofreasons. Conventional wireless networks also implement circuit switchedconnections to provide reliable communications channels. However the useof circuit switched connections allocates bandwidth betweencommunicating nodes whether or not traffic is constantly beingtransferred between the nodes. Therefore, circuit switched connectionsuse communications bandwidth rather inefficiently.

Packet switching makes more efficient use of available bandwidth thandoes traditional circuit switching. Packet switching breaks up trafficinto so-called “packets” which can then be transported from a sourcenode to a destination for reassembly. Thus a particular portion ofbandwidth can be shared by many sources and destinations yielding moreefficient use of bandwidth.

A wireless broadband access telecommunications system is desired whichcan provide a QoS capability that is comparable to that delivered bywireline broadband access devices. Conventionally, one of the barriersto the deployment of wireless broadband access systems has been theabsence of acceptable QoS characteristics, while at the same timedelivering bandwidth sufficient to qualify as broadband. Delivery of rawbandwidth over wireless media without acceptable QoS would not benefitend users. Likewise, the delivery of a high level of QoS at the cost ofsufficient bandwidth would also not benefit endusers.

Conventional efforts to provide wireless broadband access systems havenot granted sufficient priority to QoS as a guiding principle inarchitecting the wireless systems, resulting in sub-optimal designs.With the rapid emergence of the Internet, the packet switching paradigm,and transmission control protocol/internet protocol (TCP/IP) as auniversal data protocol, it has become clear that a new wireless systemdesign has become necessary.

What is needed then is an IP-centric wireless broadband access systemwith true QoS capabilities.

SUMMARY OF THE INVENTION

The present invention provides a wireless telecommunications networkhaving superior quality of service. A method for assigning future slotsof a transmission frame to a data packet in the transmission frame fortransmission over a wireless telecommunication network system includesapplying an advanced reservation algorithm, reserving a first slot for afirst data packet of an internet protocol (IP) flow in a futuretransmission frame based on the algorithm, reserving a second slot for asecond data packet of the IP flow in a transmission frame subsequent intime to the future transmission frame based on the algorithm, whereinthe second data packet is placed in the second slot in an isochronousmanner to the placing of the first data packet in the first slot.

In one embodiment there is a periodic variation between the placing ofthe first data packet in the first slot and the placing of the seconddata packet in the second slot. While in another embodiment there is noperiodic variation between the placing of the first data packet in thefirst slot and the placing of the second data packet in the second slot.

The advanced reservation algorithm makes a determination whether the IPflow is jitter-sensitive.

Isochronous data packets are provided in a telecommunications system,the telecommunications system including a wireless base station coupledto a first data network, one or more host workstations coupled to thefirst data network, one or more subscriber customer premise equipment(CPE) stations in wireless communication with the wireless base stationover a shared bandwidth using a packet-centric protocol, one or moresubscriber workstations coupled to each of the subscriber CPE stationsover a second network, and resource allocation means optimizing end-userquality of service (QoS) and allocating shared bandwidth among thesubscriber CPE stations, wherein there is applied an advancedreservation algorithm to an internet protocol (IP) flow to reservesucceeding slots in one or more succeeding future transmission frames ofthe IP flow in an isochronous manner based on the algorithm. There maybe or not be a periodic variation between the successive reserving ofthe succeeding slots while the algorithm determines whether the IP flowis jitter-sensitive or not.

A system for assigning future slots of a transmission frame to a datapacket in the transmission frame for transmission over a wireless mediumincludes a means for applying an advanced reservation algorithm, a meansfor reserving a first slot for a first data packet of an internetprotocol (IP) flow in a future transmission frame based on thealgorithm, a means for reserving a second slot for a second data packetof the IP flow in a transmission frame subsequent in time to the futuretransmission frame based on the algorithm, wherein the second datapacket is placed in the second slot in an isochronous manner to theplacing of the first data packet in the first slot. The placement may bedone periodically or not. The advance reservation algorithm is used todetermine whether the IP flow is jitter-sensitive.

The system provides isochronous data packets in a telecommunicationssystem, the telecommunications system can include a wireless basestation coupled to a first data network, one or more host workstationscoupled to the first data network, one or more subscriber customerpremise equipment (CPE) stations in wireless communication with thewireless base station over a shared bandwidth using a packet-centricprotocol, one or more subscriber workstations coupled to each of thesubscriber CPE stations over a second network, and resource allocationmeans optimizing end-user quality of service (QoS) and allocating sharedbandwidth among the subscriber CPE stations, the system including ameans for applying an advanced reservation algorithm to an internetprotocol (IP) flow, and a means for reserving succeeding slots in one ormore succeeding future transmission frames of the IP flow in anisochronous manner based on the algorithm.

The system can provide periodic variation between successivereservations of succeeding transmission slots or not while the advancedreservation algorithm determines whether the IP flow isjitter-sensitive.

The cross-referenced applications are incorporated herein by referencein their entireties.

BRIEF DESCRIPTION OF THE FIGURES

The present invention will be described with reference to theaccompanying figures, wherein:

FIG. 1A is a block diagram providing an overview of a standardtelecommunications network providing local exchange carrier serviceswithin one or more local access and transport areas;

FIG. 1B depicts an exemplary network including workstations coupled to adata network;

FIG. 1C illustrates a conventional video network, such as for example acable television (CATV) network;

FIG. 2A is a block diagram illustrating an overview of a standardtelecommunications network providing both local exchange carrier andinterexchange carrier services between subscribers located in differentlocal access and transport areas;

FIG. 2B illustrates a signaling network in detail;

FIG. 2C illustrates an exemplary network carrying voice, data and videotraffic over a data network;

FIG. 2D depicts a network including a point-to-multipoint wirelessnetwork coupled via a router to a data network;

FIG. 3A depicts an exemplary perspective diagram of apoint-to-multipoint network;

FIG. 3B depicts a block diagram further illustrating a wirelesspoint-to-multipoint network;

FIG. 4 depicts a wireless Internet protocol network access architectureof the present invention;

FIG. 5A depicts Internet protocol flows from a subscriber host to awireless base station, and through a wireline connection to adestination host;

FIG. 5B illustrates a functional flow diagram including an examplefunctional description of a transmission control protocol adjunct agentperforming an outgoing transmission control protocol spoof function;

FIG. 5C illustrates a functional flow diagram including an exemplaryfunctional description of a transmission control protocol adjunct agentperforming an incoming transmission control protocol spoof function;

FIG. 6 illustrates a block diagram representing scheduling of mixedInternet protocol flows;

FIG. 7 illustrates packet header field information which can be used toidentify Internet protocol flows and the quality of service requirementsof the Internet protocol flows;

FIG. 8A is a block diagram summarizing an exemplary downlink analysis,prioritization and scheduling function;

FIG. 8B is a block diagram summarizing an exemplary uplink analysisprioritization and scheduling function;

FIG. 9 illustrates how a downlink flow scheduler can take into account aservice level agreement in prioritizing a frame slot and schedulingresource allocation;

FIG. 10 depicts an embodiment of an inventive media access controlhardware architecture;

FIG. 11 is an exemplary software organization for a packet-centricwireless point to multi-point telecommunications system;

FIG. 12A illustrates an exemplary time division multiple access mediaaccess control air frame;

FIG. 12B illustrates an exemplary structure for a time division multipleaccess/time division duplex air frame;

FIG. 12C illustrates an exemplary downstream transmission subframe;

FIG. 12D illustrates an exemplary upstream acknowledgment block field ofa downstream transmission subframe;

FIG. 12E illustrates an exemplary acknowledgment request block field ofa downstream transmission subframe;

FIG. 12F illustrates an exemplary frame descriptor block field of adownstream transmission subframe;

FIG. 12G illustrates an exemplary downstream media access controlpayload data unit of a downstream transmission subframe;

FIG. 12H illustrates an exemplary command and control block of adownstream transmission subframe;

FIG. 12I illustrates an exemplary upstream transmission subframe;

FIG. 12J illustrates an exemplary downstream acknowledgment block of anupstream transmission subframe;

FIG. 12K illustrates an exemplary reservation request block of anupstream transmission subframe 1204;

FIG. 12L illustrates an exemplary media access control payload data unitof an upstream transmission subframe;

FIGS. 12M, 12N and 12O illustrate an exemplary operations data block ofan upstream transmission subframe;

FIG. 13 illustrates how an exemplary flow scheduler for the presentinvention functions;

FIG. 14 is an exemplary two-dimensional block diagram of an advancedreservation algorithm;

FIG. 15A is an exemplary logical flow diagram for a downlink flowanalyzer;

FIG. 15B is an exemplary logical flow diagram for a downlink flowscheduler;

FIG. 16A is an exemplary logical flow diagram for an uplink flowanalyzer;

FIG. 16B is an exemplary logical flow diagram for an uplink flowscheduler;

FIG. 17 illustrates Internet protocol flow in a downlink direction,including Internet protocol security encryption; and

FIG. 18 illustrates an uplink direction of Internet protocol securitysupport.

In the figures, like reference numbers generally indicate identical,functionally similar, and/or structurally similar elements. The figurein which an element first appears is indicated by the leftmost digit(s)in the reference number.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS I. An ExampleEnvironment

The present invention is described in terms of an example environment.The example environment uses a fixed wireless point-to-multi-point(PtMP) connection to transmit packetized data information including forexample, IP telephony, video, data, received from a telecommunicationscarrier. As used herein, a telecommunications carrier can include USdomestic entities (see Definitions below at section II) such as, e.g.,ILECs, CLECs, IXCs, NGTs and Enhanced Service Providers (ESPs), as wellas global entities such as PTTs and NEs, recognized by those skilled inthe art. In addition, as used herein a telecommunications systemincludes domestic systems used by entities-such as, e.g., ILECs, CLECs,IXCs and Enhanced Service Providers (ESPs), as well as global systemsrecognized by those skilled in the art.

In the preferred embodiment, the traffic arrives from a wide areanetwork (WAN) connection.

Data traffic is received from a data network through a network routerand can be demodulated from internet protocol (IP) format to, forexample, the point-to-point protocol (PPP). Network routers can include,for example, a general purpose computer, such as the SUN workstationrunning routing software or a dedicated routing device such as variousmodels from CISCO of San Jose, Calif., ASCEND of Alameda, Calif.,NETOPIA of Alameda, Calif., or 3COM of Santa Clara, Calif.

In the alternative, a virtual private networking protocol, such as thepoint-to-point tunneling protocol (PPTP), can be used to create a“tunnel” between a remote user and a corporate data network. A tunnelpermits a network administrator to extend a virtual private network froma server (e.g., a Windows NT server) to a data network (e.g., theInternet).

Although the invention is described in terms of this exampleenvironment, it is important to note that description in these terms isprovided for purposes of illustration only. It is not intended that theinvention be limited to this example environment or to the preciseinter-operations between the above-noted devices. In fact, after readingthe following description, it will become apparent to a person skilledin the relevant art how to implement the invention in alternativeenvironments.

II. Definitions

Table 1 below defines common telecommunications terminology. These termsare used throughout the remainder of the description of the invention.

TABLE 1 Term Definition access tandem (AT) An AT is a class 3/4 switchused to switch calls between EOs in a LATA. An AT provides subscribersaccess to the IXCs, to provide long distance calling services. An accesstandem is a network node. Other network nodes can include, for example,a CLEC, or other enhanced services provider (ESP), an internationalgateway or global point-of-presence (GPOP), or an intelligent peripheral(IP). bearer (B) channels Bearer (B) channels are digital channels usedto carry both digital voice and digital data information. An ISDN bearerchannel is 64,000 bits per second, which can carry PCM-digitized voiceor data. called party The called party is the caller receiving a callsent over a network at the destination or termination end. calling partyThe calling party is the caller placing a call over any kind of networkfrom the origination end. central office (CO) A CO is a facility thathouses an EO homed. EOs are often called COs. class 1 switch A class 1switching office, the Regional Center (RC), is the highest level oflocal and long distance switching, or “office of last resort” tocomplete a call. class 3 switch A class 3 switching office was a PrimaryCenter (PC); an access tandem (AT) has class 3 functionality. class 4switch A class 4 switching office was a Toll Center (TC) if operatorswere present or else a Toll Point (TP); an access tandem (AT) has class4 functionality. class 5 switch A class 5 switching office is an endoffice (EO) or the lowest level of local and long distance switching, alocal central office. The switch closest to the end subscriber.competitive LEC CLECs are telecommunications services providers of localservices (CLEC) that can compete with ILECs. !nterprise and Century 21are examples. A CLEC may or may not handle IXC services as well.competitive access Teligent and Winstar are examples. providers (CAPS)customer premises CPE refers to devices residing on the premises of acustomer and used equipment (CPE) to connect to a telephone network,including ordinary telephones, key telephone systems, PBXs, videoconferencing devices and modems. digitized data (or Digitized datarefers to analog data that has been sampled into a digital data) binaryrepresentation (i.e., comprising sequences of 0's and 1's). Digitizeddata is less susceptible to noise and attenuation distortions because itis more easily regenerated to reconstruct the original signal. egressend office The egress EO is the node or destination EO with a directconnection to the called party, the termination point. The called partyis “homed” to the egress EO. egress Egress refers to the connection froma called party or termination at the destination end of a network, tothe serving wire center (SWC). end office (EO) An EO is a class 5 switchused to switch local calls within a LATA. Subscribers of the LEC areconnected (“homed”) to EOs, meaning that EOs are the last switches towhich the subscribers are connected. Enhanced Service A network servicesprovider. Provider (ESP) equal access 1 + dialing as used in US domesticcalling for access to any long distance carrier as required under theterms of the modified final judgment (MFJ) requiring divestiture of theRegional Bell Operating Companies (RBOCs) from their parent company,AT&T. global point of A GPOP refers to the location where internationalpresence (GPOP) telecommunications facilities and domestic facilitiesinterface, an international gateway POP. incumbent LEC ILECs aretraditional LECs in the US, which are the Regional Bell (ILEC) OperatingCompanies (RBOCs). Bell South and US West are examples. ILEC can alsostand for an independent LEC such as a GTE. ingress end office Theingress EO is the node or serving wire center (SVC) with a directconnection to the calling party, the origination point. The callingparty is “homed” to the ingress EO. ingress Ingress refers to theconnection from a calling party or origination. integrated service AnISDN Basic Rate Interface (BRI) line provides 2 bearer B digital networkchannels and 1 data D line (known as “2B + D” over one or two pairs)(ISDN) basic rate to a subscriber. interface (BRI) line integratedservices ISDN is a network that provides a standard for communicationsdigital network (voice, data and signaling), end-to-end digitaltransmission circuits, (ISDN) out-of-band signaling, and a featuressignificant amount of bandwidth. inter machine trunk An inter-machinetrunk (IMT) is a circuit between two commonly- (IMT) connected switches.inter-exchange IXCs are US domestic long distance telecommunicationsservices carrier (IXC) providers. AT&T, MCI, Sprint, are examples.internet protocol (IP) IP is part of the TCP/IP protocols. It is used torecognize incoming messages, route outgoing messages, and keep track ofInternet node addresses (using a number to specify a TCP/IP host on theInternet). IP corresponds to the network layer of OSI. Internet serviceAn ISP is a company that provides Internet access to subscribers.provider (ISP) ISDN primary rate An ISDN Primary Rate Interface (PRI)line provides the ISDN interface (PRI) equivalent of a T1 circuit. ThePRI delivered to a customer's premises can provide 23B + D (in NorthAmerica) or 30B + D (in Europe) channels running at 1.544 megabits persecond and 2.048 megabits per second, respectively. local exchange LECsare local telecommunications services providers. Bell Atlantic carrier(LEC) and US West are examples. local access and A LATA is a region inwhich a LEC offers services. There are over transport area 160 LATAs ofthese local geographical areas within the United States. (LATA) localarea network A LAN is a communications network providing connectionsbetween (LAN) computers and peripheral devices (e.g., printers andmodems) over a relatively short distance (e.g., within a building) understandardized control. modified final Modified final judgment (MFJ) wasthe decision requiring divestiture judgment (MFJ) of the Regional BellOperating Companies (RBOCs) from their parent company, AT&T. networknode A network node is a generic term for the resources in atelecommunications network, including switches, DACS, regenerators, etc.Network nodes essentially include all non-circuit (transport) devices.Other network nodes can include, for example, equipment of a CLEC, orother enhanced service provider (ESP), a point-of-presence (POP), aninternational gateway or global point-of- presence (GPOP). new entrant(NE) A new generation global telecommunications. next generation A newtelecommunications services provider, especially IP telephony telephone(NGT) providers. Examples are Level 3 and Qwest. packetized voice or Oneexample of packetized voice is voice over internet protocol voice over a(VOIP). Voice over packet refers to the carrying of telephony orbackbone voice traffic over a data network, e.g. voice over frame, voiceover ATM, voice over Internet Protocol (IP), over virtual privatenetworks (VPNs), voice over a backbone, etc. Pipe or dedicated A pipe ordedicated communications facility connects an ISP to the communicationsinternet. facility point of presence A POP refers to the location withina LATA where the IXC and LEC (POP) facilities interface. point-to-pointA virtual private networking protocol, point-to-point tunnelingtunneling protocol protocol (PPTP), can be used to create a “tunnel”between a remote (PPTP) user and a data network. A tunnel permits anetwork administrator to extend a virtual private network (VPN) from aserver (e.g., a Windows NT server) to a data network (e.g., theInternet). point-to-point (PPP) PPP is a protocol permitting a computerto establish a connection with protocol the Internet using a modem. PPPsupports high-quality graphical front ends, like Netscape. postaltelephone State regulated telephone companies, many of which are beingtelegraph (PTT) deregulated. NTT is an example. private branch A PBX isa private switch located on the premises of a user. The user exchange(PBX) is typically a private company which desires to provide switchinglocally. private line with a A private line is a direct channelspecifically dedicated to a customer's dial tone use between twospecified points. A private line with a dial tone can connect a PBX oran ISP's access concentrator to an end office (e.g. a channelized TI orPRI). A private line can also be known as a leased line. public switchedThe PSTN is the worldwide switched voice network. telephone network(PSTN) regional Bell RBOCs are the Bell operating companies providingLEC services operating companies after being divested from AT&T. (RBOCs)signaling system 7 SS7 is a type of common channel interoffice signaling(CCIS) used (SS7) widely throughout the world. The SS7 network providesthe signaling functions of indicating the arrival of calls, transmittingrouting and destination signals, and monitoring line and circuit status.switching hierarchy An office class is a functional ranking of atelephone central office or office switch depending on transmissionrequirements and hierarchical classification relationship to otherswitching centers. Prior to AT&T's divestiture of the RBOCs, an officeclassification was the number assigned to offices according to theirhierarchical function in the U.S. public switched network (PSTN). Thefollowing class numbers are used: class 1 = Regional Center (RC), class2 = Sectional Center (SC), class 3 = Primary Center (PC), class 4 = TollCenter (TC) if operators are present or else Toll Point (TP), class 5 =End Office (EO) a local central office. Any one center handles trafficfrom one to two or more centers lower in the hierarchy. Sincedivestiture and with more intelligent software in switching offices,these designations have become less firm. The class 5 switch was theclosest to the end subscriber. Technology has distributed technologycloser to the end user, diffusing traditional definitions of networkswitching hierarchies and the class of switches. telecommunications ALEC, a CLEC, an IXC, an Enhanced Service Provider (ESP), an carrierintelligent peripheral (IP), an international/global point-of-presence(GPOP), i.e., any provider of telecommunications services. transmissioncontrol TCP is an end-to-end protocol that operates at the transport andprotocol (TCP) sessions layers of OSI, providing delivery of data bytesbetween processes running in host computers via separation andsequencing of IP packets. transmission control TCP/IP is a protocol thatprovides communications between protocol/internet interconnectednetworks. The TCP/IP protocol is widely used on the protocol (TCP/IP)Internet, which is a network comprising several large networks connectedby high-speed connections. trunk A trunk connects an access tandem (AT)to an end office (EO). wide area network A WAN is a data network thatextends a LAN over the circuits of a (WAN) telecommunications carrier.The carrier is typically a common carrier. A bridging switch or a routeris used to connect the LAN to the WAN.

III. Introduction

A. Quality of Service (QOS) in a Wireless Environment

The concept of quality of service (QoS) is one of the most difficult andleast understood topics in data networking. Although a common term indata networking, there are many different usages and definitions forQoS, leading to confusion regarding an exact meaning in precise orquantitative terms. Even further confusion is found when attempts aremade to measure or specify numeric quantities sufficient to allowcomparison of equipment or network performance with respect to QoS.

The confusion about QoS in general data networking is transferred andmagnified when applied to wireless data communications. Wirelesstransmission has a higher inherent bit error rate (BER) than doeswireline transmission. The addition of, e.g., a point-to-multipoint(PtMP) topology for multiple users sharing a wireless medium makes itdesirable that QoS be defined in a manner that specifically addressesthe multiple complicating factors in wireless data communications.

To provide a non-ambiguous definition of QoS that applies to wirelessdata communications, the nature of the problem that QoS is meant tosolve is helpful. Many of the problems of data communications overwireless are unique and distinct from those of wireline datacommunications, while some are in fact shared. For wireless broadbandaccess systems, the problems of quality delivery are somewhat morecomplex than for the wireline analog. Like its wireline counterpart, theproblems encountered in wireless delivery of data include, e.g., slowperipheral access, data errors, “drop-outs,” unnecessaryretransmissions, traffic congestion, out-of-sequence data packets,latency, and jitter. In addition to these problems, wireless deliveryadds problems including, e.g., high inherent bit error rates (BERs),limited bandwidth, user contention, radio interference, and TCP trafficrate management. A QoS-aware wireless system is desired to address allthese problems.

There are a number of ways in which users or subscribers to a datanetwork experience difficulties. One network difficulty is due to a lackof network availability. Depending on the access technology being used,this can include a “modem no-answer” condition, “network busy”condition, or a sudden unexpected “drop” of a network connection. Theseconditions would not be described as being consistent with high QoS.Once network connectivity is achieved, slow traffic caused bycongestion, local access bottlenecks, and network failures can beexperienced as slow web page loading, slow file transfers, or poorvoice/video quality in streaming multimedia applications. Poor qualityin streaming multimedia applications can instead result from high“jitter,” or large and rapid variations in latency, leading tointerruptions, distortion, or termination of session. Many differentconditions can lead to actual data errors, which in some contexts can becatastrophic, such as in the file transfer of a spreadsheet. It isdesirable that these problems of a data communications network beminimized or eliminated.

1. Quality

In data networking, quality usually implies the process of deliveringdata in a reliable and timely manner. What is reliable and timely isdependent on the nature of the traffic being addressed. These terms mayinclude references to limitations in data loss, expectations of dataaccuracy, limitations of data latency variations (also known as jitter),and limitations of data retransmissions and limitations of data packetorder inversions. Therefore, QoS is a complex concept, which can requirea correspondingly complex mechanism to implement it.

QoS can be a relative term, finding different meanings for differentusers. A casual user doing occasional web browsing, but no file transferprotocol (FTP) file downloads or real time multimedia sessions may havedifferent a different definition of QoS than a power user doing many FTPfile downloads of large database or financial files, frequent H.323video conferencing and IP telephony calls. Also, a user can pay apremium rate (i.e. a so-called service level agreement (SLA)) for highnetwork availability, low latency, and low jitter, while another usercan pay a low rate for occasional web surfing only, and on weekendsonly. Therefore, perhaps it is best to understand QoS as a continuum,defined by what network performance characteristic is most important toa particular user and the user's SLA. Maximizing the end-user experienceis an essential component of providing wireless QoS.

2. Service

In data networking, a service can be defined as a type of connectionfrom one end of a network to another. Formerly, this could have beenfurther defined to be protocol specific, such as, e.g., IBM's systemsnetwork architecture (SNA), Novell's IPX, Digital's DECnet. However, itappears that TCP/IP (i.e. including user datagram protocol(UDP)) hasevolved to become the overwhelming protocol of choice, and will continueto be in the foreseeable future. Therefore, service can be defined to bea particular type of TCP/IP connection or transmission. Such servicetypes might include, e.g., FTP file transfers, e-mail traffic, hypertexttransfer protocol (HTTP) traffic, H.323 videoconferencing sessions. Itis desirable that a QoS mechanism deal with these differing types ofservice, in addition to dealing with the different types of quality asdiscussed previously.

3. QOS as a Mechanism

QoS can be thought of as a mechanism to selectively allocate scarcenetworking, transmission and communications resources to differentiatedclasses of network traffic with appropriate levels of priority. Ideally,the nature of the data traffic, the demands of the users, the conditionsof the network, and the characteristics of the traffic sources anddestinations all modify how the QoS mechanism is operating at any giveninstant. Ultimately, however, it is desirable that the QoS mechanismoperate in a manner that provides the user with optimal service, inwhatever manner the user defines it.

a. Circuit-switched QoS

In legacy networks created primarily for voice traffic by telephonecompanies, data transmission was accomplished with reference to acircuit-centric definition of QoS. In this definition, QoS implied theability to carry asynchronous (i.e. transmission of data through startand stop sequences without the use of a common clock) as well asisochronous (i.e.consistent timed access of network bandwidth fortime-sensitive voice and video) traffic. Circuit-switched QoS wasaccomplished by dedicating an end-to-end circuit for each connection orservice, whether it was voice (see FIG. 1A) or data. The circuit-centricQoS mechanism was simply the provision of this circuit for exclusive useby the user. Of course, this approach dedicates the circuit, alltransmission channels associated with the circuit, and the transportmedia itself to a single user for the entire duration of the session,regardless of whether data is actually being transmitted every instantof the session. It was generally believed that only in this manner couldtrue QoS be achieved. Therefore, traditional designs for wirelessbroadband access systems (see FIG. 2A) also used this approach,dedicating a wireless radio channel to each particular data connection,regardless of the application or whether indeed any data was beingtransmitted at any given moment. This circuit-centric approach to QoS isfairly expensive, in terms of the cost of the equipment, and theutilization factors for the transmission media itself.

b. Asynchronous Transfer Mode (ATM) QoS

With ATM networking, telephone companies could continue to provide acircuit-centric QoS mechanism with the establishment of permanentvirtual connections (PVCs) (i.e. a virtual path or channel connection(VPC or VCC) provisioned for indefinite use) and switched virtualconnections (SVCs) (i.e. a logical connection between endpointsestablished by an ATM network on demand based upon signaling messagesreceived from the end user or another network) in an analogous manner tothe legacy voice circuit mechanism. However, several new concepts wereneeded, including admission policy, traffic shaping, and mechanisms suchas, e.g., leaky-buckets, in order to handle traffic that was nowcategorized as variable bit rate (VBR), constant bit rate (CBR), andunspecified bit rate (UBR).

Virtual circuits were to be established for data transmission sessions,again regardless of the data application or whether data was beingtransmitted at any given moment. Although ATM provides QoS for broadbandnetwork traffic, the under lying assumptions of ATM design include thelow BER characteristic of wireline networks, not the high BER of thewireless medium. Without a recognition of the characteristics of thetraffic that is being carried by the ATM mechanism and the high inherentBER of wireless, true QoS can not be provided. ATM QoS mechanisms do notaddress the unique challenges associated with wireless communication.

c. Packet-switched QoS

Packet-switching is revolutionizing data communications, so conventionalcircuit-switch and ATM networking concepts and their legacy QoSmechanisms are in need of update. With packet-switched datacommunications, one cannot dedicate a circuit to a particular datacommunications session. Indeed, a strength of packet-switching lies inroute flexibility and parallelism of its corresponding physical network.Therefore, the QoS mechanism cannot work in the same manner as thelegacy circuit-centric QoS mechanism did.

Simply providing “adequate” bandwidth is not a sufficient QoS mechanismfor packet-switched networks, and certainly not for wireless broadbandaccess systems. Although some IP-flows are “bandwidth-sensitive,” otherflows are latency- and/or jitter-sensitive. Real time or multimediaflows and applications cannot be guaranteed timely behavior by simplyproviding excessive bandwidth, even if it were not cost-prohibitive todo so. It is desirable that QoS mechanisms for an IP-centric wirelessbroadband access system recognize the detailed flow-by-flow requirementsof the traffic, and allocate system and media resources necessary todeliver these flows in an optimal mariner.

d. Summary—QoS Mechanisms

Ultimately, the end-user experience is the final arbiter of QoS. It isdesirable that an IP-centric wireless broadband access system assign andregulate system and media resources in a manner that can maximize theend-user experience. For some applications such as an initial screen ofa Web page download, data transmission speed is the best measure of QoS.For other applications, such as the download or upload of a spreadsheet,the best measure of QoS can be the minimization of transmission error.For some applications, the best measure of QoS can be the optimizationof both speed and error. For some applications, the timely delivery ofpackets can be the best measure of QoS. It is important to note thatfast data transmission may not be the same as timely delivery ofpackets. For instance, data packets that are already “too old” can betransmitted rapidly, but by being too old can be of no use to the user.The nature of the data application itself and the desired end-userexperience then can provide the most reliable criteria for the QoSmechanism. It is desired that an IP-centric wireless broadband accesssystem provide a QoS mechanism that can dynamically optimize systembehavior to each particular IP flow, and can also adapt to changes withchanging network load, congestion and error rates.

4. Service Guarantees and Service Level Agreements (SLAs)

Service guarantees can be made and service level agreements (SLAs) canbe entered into between a telecommunications service provider and asubscriber whereby a specified level of network availability can bedescribed, and access charges can be based upon the specified level.Unfortunately, it is difficult to quantify the degree of networkavailability at any given time, and therefore this becomes a rathercrude measure of service performance. It is desired that data deliveryrate, error rate, retransmissions, latency, and jitter be used asmeasures of network availability, but measuring these quantities on areal-time basis can be beyond the capability of conventional networkservice providers (NSPs).

Another level of service discrimination desired by network serviceproviders is a service level agreement (SLA) that provides for differingtraffic rates, network availability, bandwidth, error rate, latency andjitter guarantees. It is desired that an IP-centric wireless broadbandaccess system be provided that can provide for SLAs, enabling serviceproviders to have more opportunities for service differentiation andprofitability.

5. Class of Service and Quality of Service

In order to implement a practical QoS mechanism, it is desired that asystem be able to differentiate between types of traffic or servicetypes so that differing levels of system resources can be allocated tothese types. It is customary to speak of “classes of service” as a meansof grouping traffic types that can receive similar treatment orallocation of system and media resources.

Currently, there are several methods that can be used in wirelinenetwork devices to implement differentiated service classes. Examplemethods include traffic shaping, admission control, IP precedence, anddifferential congestion management. It is desired that an IP-centricwireless broadband access system use all of these methods todifferentiate traffic into classes of service, to map these classes ofservice against a QoS matrix, and thereby to simplify the operation andadministration of the QoS mechanism.

B. QoS and IP-centric Wireless Environment

In a point-to-multipoint (PtMP) wireless system like the presentinvention, it is desirable that the QoS mechanism cope not only withwireline networking considerations, but also with considerationsparticular to the wireless environment. As stated earlier, it is desiredthat the inherent BER of wireless be handled. The high BER can requirethat error detection, correction, and re-transmission be done in anefficient manner. It is desired that a BER handling mechanism also workefficiently with the re-transmission algorithms of TCP/IP so as to notcause further unnecessary degradation of bandwidth utilization. Anadditional challenge of wireless is contention among users for limitedwireless bandwidth. It is desirable that the system handle servicerequests from multiple users in a radio medium subject to interferenceand noise, which can make efficient allocation of radio bandwidthdifficult.

As discussed above, the change from circuit-switched and ATM datanetworks to packet-switched data networks has impacted the definition ofQoS mechanisms. The present invention provides a novel QoS mechanism ina point-to-multi-point IP-centric wireless system for packet-switchednetwork traffic. In order for the system to provide optimal QoSperformance, it desirable that it include a novel approach to QoSmechanisms. The use of QoS as the underlying guide to systemarchitecture and design constitutes an important, substantial andadvantageous difference of the IP-centric wireless broadband accesssystem of the present invention over existing wireless broadband accesssystems designed with traditional circuit-centric or ATM cellcircuit-centric approaches such as those used by Teligent and Winstar.

C. IP-centric Wireless Broadband Access QoS and Queuing Disciplines

1. Managing Queues

Queuing is a commonly accepted tool required for manipulating datacommunications flows. In order for packet headers to be examined ormodified, for routing decisions to made, or for data flows to be outputon appropriate ports, it is desirable that data packets be queued.However, queuing introduces, by definition, a delay in the trafficstreams that can be detrimental, and can even totally defeat the intentof queuing. Excessive queuing can have detrimental effects on traffic bydelaying time sensitive packets beyond their useful time frames, or byincreasing the RTT (Round Trip Time), producing unacceptable jitter oreven causing the time-out of data transport mechanisms. Therefore, it isdesired that queuing be used intelligently and sparingly, withoutintroducing undue delay in delay-sensitive traffic such as real-timesessions.

In a wireless environment where time division multiple access (TDMA),forward error detection (FEC), and other such techniques can benecessary, it is desirable that queuing be used merely to enable packetand radio frame processing. However, in the case of real-time flows, theoverall added delay in real-time traffic can preferably be held to belowapproximately 20 milliseconds.

The use of queue management as the primary QoS mechanism in providingQoS-based differentiated services is a simple and straight forwardmethod for wireless broadband systems. However, wireless systems areusually more bandwidth constrained and therefore more sensitive to delaythan their wireline counterparts. For this reason, it is desirable thatQoS-based differentiated services be provided with mechanisms that gobeyond what simple queuing can do. However, some queuing can still berequired, and the different queuing methods are now discussed.

2. First In, First Out (FIFO) Queuing

First in, first out (FIFO) queuing can be used in wireless systems, likewireline systems, in buffering data packets when the downstream datachannel becomes temporarily congested. If temporary congestion is causedby bursty traffic, a FIFO queue of reasonable depth can be used tosmooth the flow of data into the congested communications segment.However, if the congestion becomes severe in extent, or relatively longin duration, FIFO can lead to the discarding of packets as the FIFOqueues are filled to capacity and the network is not capable ofaccepting additional packets causing discarding of packets, i.e.so-called “packet-tossing.” Although this can have a detrimental effecton QoS in and of itself, the discarding of packets may cause futureproblems with traffic flow as the TCP protocol causes the retransmissionof lost packets in the proper sequence, further exacerbating theproblem. The problem of packet discards can be minimized by increasingthe size of the FIFO buffers so that more time can pass before discardsoccur. Unfortunately, eventually the FIFO can become large enough thatpackets can become too old and the round-trip time (RTT) can increase tothe point that the packets are useless, and the data connection isvirtually lost.

In a wireless broadband environment, the requirement for FIFO queuing ispartially dependent upon the type of RF access method being used. Fortime division multiple access/time division duplex (TDMA/TDD), it can bedesirable that data be queued even for collecting enough data for theconstruction of data frames for transmission. Frequency divisionmultiple access (FDMA) and code-division multiple access (CDMA) are notas “sequential” in nature as TDMA, and therefore have less of arequirement for FIFO queuing. However, generally for all wireless accesstechniques, noise and interference are factors that can lead toretransmissions, and therefore further delays and consequent adverseeffect on QoS.

Using FIFO queuing, shared wireless broadband systems can uniformlydelay all traffic. This can seem to be the “fairest” method, but it isnot necessarily the best method if the goal is to provide high QoS tousers. By using different types of queue management, a much better baseof overall QoS can be achieved.

3. Priority Queuing

The shared wireless broadband environment can include a constrictedbandwidth segment as data is transmitted over the RF medium. Therefore,regardless of access technique, these systems can require some amount ofqueuing. However, using FIFO queuing can result in a constant delay toall traffic, regardless of the priority or type of traffic. Most datacommunications environments can consist of a mixture of traffic, withcombinations of real time interactive data, file and data downloads, webpage access, etc. Some of these types of traffic are more sensitive todelay, and jitter, than others. Priority queuing simply reorders datapackets in the queue based on their relative priorities and types, sothat data from more latency- and jitter-sensitive traffic can be movedto the front of the queue.

Unfortunately, if there is downlink data channel congestion, orcongestion caused by an overabundance of high priority traffic, thecondition of “buffer starvation” can occur. Because of the relativevolume of high priority packets consuming a majority of buffer space,little room is left for lower priority packets. These lower prioritypackets can experience significant delays while system resources aredevoted to the high priority packets. In addition to low prioritypackets being held in buffers for long periods of time, or neverreaching the buffers, resulting in significantly delayed data flows forthese packets, the actual applications corresponding to these lowpriority packets can also be disrupted, and stop working. Because of thenature of this queuing approach, overall latency and jitter and RTT forlower priority packets can be unpredictable, having an adverse effect onQoS.

If queue sizes are small, reordering data within the queues can havelittle beneficial effect on the QoS. In fact, processing required toexamine packet headers in order to obtain the information necessary toreorder the queues may itself add significant delay to the data stream.Therefore, particularly for wireless broadband data environments,priority queuing can be not much better than FIFO queuing as a QoSmechanism.

4. Classed Based Queuing

By allocating queue space and system resources to packets based on theclass of the packets, buffer starvation can be avoided. Each class canbe defined to include of data flows with certain similar priorities andtypes. All classes can be given a certain minimum level of service sothat one high priority data flow cannot monopolize all system resources.With the classification approach, because no data flow is evercompletely shut off, the source application can receive informationabout the traffic rate, and can be able to provide TCP-mediatedtransmission rate adjustment supporting smooth traffic flow.

Although this approach can work better than FIFO queuing in wirelessbroadband systems, latency and jitter sensitive flows can still beadversely affected by high priority flows of large volume.

5. Weighted Fair Queuing

A weighted fair queuing method can attempt to provide low-volume flowswith guaranteed queuing resources, and can then allow remaining flows,regardless of volume or priority, to have equal amounts of resource.Although this can prevent buffer starvation, and can lead to somewhatbetter latency and jitter performance, it can be difficult to attainstable performance in the face of rapidly changing RF downlink channelbandwidth availability.

Providing a high quality of service can require a QoS mechanism that ismore sophisticated than simple queue management.

D. IP-centric Wireless Broadband Access QoS and TCP/IP

1. TCP/IP

The TCP/IP protocol stack has become the standard method of transmittingdata over the Internet, and increasingly it is becoming a standard invirtual private networks (VPNs). The TCP/IP protocol stack includes notonly internet protocol (IP), but also transmission control protocol(TCP), user datagram protocol (UDP), and internet control messageprotocol (ICMP). By assuming that the TCP/IP protocol stack is thestandard network protocol for data communications, the creation of a setof optimal QoS mechanisms for the wireless broadband data environment ismore manageable. QoS mechanisms can be created that can span the entireextent of the network, including both the wireline and the wirelessportions of the network. These mechanisms can integrate in a smooth andtransparent manner with TCP rate control mechanisms and provideend-to-end QoS mechanisms that are adaptive to both the wireline andwireless portions of the network. Of course, segments of the wirelinenetwork that are congested or are experiencing other transport problemscannot be solved by a wireless QoS mechanism. However, a wireless QoSmechanism can optimize data flows in a manner that can enhance the enduser experience when there is no severe wireline network congestion orbottleneck present.

2. Differentiation by Class

Data traffic can be handled based on classes of service, as discussedabove. To differentiate traffic by class, data traffic (or a sequence ofdata packets associated with a particular application, function, orpurpose) can be classified into one of several classes of service.Differentiation can be done on the basis of some identifiableinformation contained in packet headers. One method can includeanalyzing several items in, e.g., an IP packet header, which can serveto uniquely identify and associate the packet and other packets fromthat packet flow with a particular application, function or purpose. Asa minimum, a source IP address, a source TCP or UDP port, a destinationIP address, and a destination IP or UDP port can serve to associatepackets into a common flow, i.e. can be used to classify the packetsinto a class of service.

By creating a finite and manageable number of discrete classes ofservice, multiple IP flows can be consolidated and handled with a givenset of QoS parameters by the QoS mechanisms. These classes can bedefined to provide common and useful characteristics for optimalmanagement in the combined wireline and wireless network segments.

3. Per-flow Differentiation

A finite and discrete set of classes of service, can enable QoSmechanisms to be less compute-intensive, to use less memory, fewer statemachines, and therefore have better scaleability than having individualQoS mechanisms (or sets of parameters) for each individual IP flow.However, in a network access device such as, e.g., a point tomulti-point (PtMP) wireless broadband access system, the total number ofsimultaneous IP flows typically will not exceed the range of 1000, andtherefore the amount of processing overhead that could be required couldpermit a per-flow QoS differentiation without resorting to classes ofservice. However, class of service consolidation of IP flows providesadvantages related to marketing, billing and administration.

Prior to the present invention, per-flow differentiation has not beenused in a wireless environment (including radio frequencies transmittedover coaxial cables and satellite communications).

4. Using IP Precedence for Class of Service

IP precedence bits in a type of service (IP TOS) field, as described inInternet Engineering Task Force (IETF)1992b, can theoretically be usedas a means to sort IP flows into classes of service. IETF RFC1349proposed a set of 4-bit definitions with 5 different meanings: minimizedelay; maximize throughput; maximize reliability; minimize monetarycost; and normal service.

These definitions could add significantly to networks, routers andaccess devices in differentiating different types of flow so thatresources could be appropriately allocated, resulting in improved QoS.However, the proposal has not been widely used. Several proposals in theIETF could make use of this field, along with resource reservationprotocol (RSVP), to improve network handling of packets.

Although the type of service (TOS) field has been an integral componentof the TCP/IP specification for many years, the field is not commonlyused. Absent appropriate bits in the field being set by a sourceprocessor, the access devices, the network and network routers cannotimplement QoS mechanisms.

5. TCP-mediated Transmission Rate Mechanisms

The manner in which TCP governs transmission rate can be incorporatedand managed by an IP-centric wireless QoS mechanism. If a TCP mechanismis not managed, any wireless QoS mechanism can be overwhelmed orcountered by wireless bandwidth factors. Before addressing the specificwireless factors that can impact TCP transmission speed, a review of TCPtransmission rate mechanism is needed.

TCP can control transmission rate by “sensing” when packet loss occurs.Because TCP/IP was created primarily for wireline environment with itsextremely low inherent BER, such as those found over fiber optic lines,any packet loss is assumed by TCP to be due to network congestion, notloss through bit error. Therefore, TCP assumes that the transmissionrate exceeded the capacity of the network, and responds by slowing therate of transmission. However, packet loss in the wireless link segmentis due primarily to inherently high BER, not congestion. The differenceturns out to be not insubstantial.

TCP can initially cause the transmission rate to ramp-up at thebeginning of a packet flow, and is called slow-start mode. The rate canbe continuously increased until there is a loss or time-out of thepacket-receipt acknowledgment message. TCP can then “back-off”, candecrease the transmission window size, and then can retransmit lostpackets in the proper order at a significantly slower rate. TCP can thenslowly increase the transmission rate in a linear fashion, which can becalled congestion-avoidance mode.

If multiple users share a wireless radio link as with the presentinvention, the inherently high BER of the medium could potentially causefrequent packet loss leading to unproductive TCP retransmission incongestion avoidance mode. Because wireless bandwidth can be a preciouscommodity, a IP-centric wireless QoS mechanism preferably provides forpacket retransmission without invoking TCP retransmission and consequentand unnecessary “whipsawing” of the transmission rate. This, along withseveral other factors, makes desirable creation of an IP-centricwireless media access control (MAC) layer. One function of an IP-centricMAC layer can be to mediate local retransmission of lost packets withoutsignaling TCP and unnecessarily altering the TCP transmission speed. Aprimary task of the IP-centric wireless MAC layer is to provide forshared access to the wireless medium in an orderly and efficient manner.The MAC layer according to the present invention, ProactiveReservation-based Intelligent Multimedia-aware Media Access (PRIMMA)layer, available from Malibu Networks Inc., of Calabasas, Calif., canalso schedule all packet transmissions across the wireless medium on thebasis of, e.g., IP flow type, service level agreements (SLAs), and QoSconsiderations.

6. TCP Congestion Avoidance in an IP-centric Wireless System

a. Network Congestion Collapse, Global Synchronization and IP-centricWireless TCP Congestion Avoidance

The inherently high bit error rate (BER) of wireless transmission canmake an occurrence of problems known as congestion collapse or globalsynchronization collapse more likely than in a wireline environment.When multiple TCP senders simultaneously detect congestion because ofpacket loss, the TCP senders can all go into TCP slow start mode byshrinking their transmission window sizes and by pausing momentarily.The multiple senders can then all attempt to retransmit the lost packetssimultaneously. Because they can all start transmitting again in roughsynchrony, a possibility of creating congestion can arise, and the cyclecan start all over again.

In the wireless environment, an occurrence of burst noise can causepacket loss from many IP streams simultaneously. The TCP transmissionrate mechanisms of the TCP senders can assume that packet loss was dueto congestion, and they can all back-off in synchrony. When the TCPsenders restart, the senders can restart in rough synchrony, and indeedcan now create real congestion in the wireless link segment. Thiscyclical behavior can continue for some time, and can possibly causeunpredictable system performance. This can be due in part to overflowingsystem queues which can cause more packets to be dropped and can causemore unproductive retransmissions. This can degenerate into a “race”state that could take many minutes before re-establishing stability;this can have an obvious negative impact on QoS.

In the wireline world, random early detection (RED) can be used tocircumvent global synchronization. By randomly selecting packets fromrandomly selected packet flows before congestion collapse occurs, globalsynchronization can be avoided. Queues can be monitored, and when queuedepth exceeds a preset limit, RED can be activated, activating asynchronously the TCP senders' transmission rate controllers. This canavoid the initial congestion which would otherwise result in collapseand then global synchronization.

Instead of purely random packet discards, the packets to be discardedcan be done with consideration to packet priority or type. While stillrandom, the probability of discard for a given flow can be a function ofthe by packet priority or type. In a wireless system, weighted randomearly detection (WRED) can be used without the concern of retransmissionand TCP rate reset by preferentially selecting UDP packets of real timeIP flows such as streaming audio, and H.323 flows with a more criticalpacket Time-to-Live parameter. These IP flows are more sensitive tolatency and jitter, and less sensitive to packet loss.

In the wireless environment, with an appropriately designed MAC layer,packet loss due to BER that might otherwise trigger congestion collapseand global synchronization can best be managed with local retransmissionof lost packets according to the present invention and without RED andthe unnecessary retransmission of packets by the TCP sender and theresulting reset of TCP transmission rate. The IP-centric wireless systemseparately manages the TCP transmission window of the TCP senderremotely by transmitting a packet receipt-acknowledgment before the TCPsender detects a lost packet and initiates retransmission along with anunnecessary reset of the transmission rate. This IP-centric wirelesssystem TCP transmission window manager communicates with the MAC layerin order to be aware of the status of all packets transmitted over thewireless medium.

b. The Effect of Fractal Self-similar Network Traffic Characteristicsvs. Poisson Distributions on Network Congestion

Conventionally, it has been believed that network traffic can be modeledwith a Poisson distribution. Using this distribution leads to theconclusion, through system simulations, that the sum of thousands ofindividual traffic flows with Poisson distributions results in a uniformoverall network traffic distribution. In other words, the overallnetwork can “average-out” the burstiness of individual traffic flows.Using this model, network congestion behavior, burst behavior, anddynamic traffic characteristics have been used to create conventionalcongestion avoidance strategies, design queue buffer sizes in networkdevices, and traffic and capacity limitation predictions.

More recent studies have demonstrated that TCP/IP-based traffic causesnetworks to behave in a fractal, or self-similar fashion. With thismodel, when the burstiness of individual traffic flows is summed for theentire network, the entire network becomes bursty. The bursty nature ofnetwork traffic flow is seen over all time scales and flow scales of thenetwork. This has huge implications both in design of an IP-centricwireless broadband system according to the present invention, and in thedesign of congestion avoidance strategies in the network as a whole.With this new perspective on network behavior, it has become clear thatnetwork routers, switches and transmission facilities in many cases havebeen “under-engineered.” This under-engineering has led to a furtherexacerbation of the congestion behavior of the network.

The implications for IP-centric wireless system architecture and designrange from queue buffer capacity to local congestion avoidancestrategies. Because wireless systems have the added burden of a highinherent BER, the effect of network-wide congestion behavior on local(wireless media channel) congestion avoidance strategies must beproperly gauged and countered. For this reason, it is desirable thatcongestion avoidance algorithms of the IP-centric wireless system becrafted to optimize traffic flow with new mathematical and engineeringconsiderations that until very recently were not apparent or availableto system designers.

With these considerations in mind, IP-centric wireless system designcannot be done with the conventional wireline system design approacheswithout resulting in very low system performance characteristics. Withtraditional design approaches of a circuit-centric wireless system,bandwidth utilization, real time multimedia quality, and overall systemQoS provide for a dramatically lower end-user experience.

7. Application-specific Flow Control in an IP-centric Wireless System

With a range of data flows, each having different bandwidth, latency andjitter requirements, for the achievement of high QoS as perceived by theend user, it is desirable that the IP-centric wireless system be able tomanage QoS mechanism parameters over a wide range, and in real time. TheQoS mechanism must be able to alter system behavior to the extent thatone or more data flows corresponding to specific applications beswitched on and off from appropriate end users in a transparent manner.This approach is in contrast to other QoS mechanisms that seek toachieve high QoS by establishing circuit-centric connections from end toend without regard for an underlying application's actual QoSrequirements. By using the present invention, providing a QoS mechanismthat is application-specific rather than circuit-specific, scarcewireless bandwidth can be conserved and dynamically allocated whereneeded by the QoS mechanisms associated with each application type.

B. QoS and IP-centric Wireless Media Access Control

1. Proactive Reservation-based Intelligent Multimedia-aware Media Access(PRIMMA) MAC Layer

The present invention's proactive reservation-based intelligentmultimedia-aware media access (PRIMMA) media access control (MAC) layerprovides an application switching function of the IP-centric wirelessQoS mechanism. Once the nature and QoS requirements of each IP streamare determined by other portions of the system, this information iscommunicated to the PRIMMA MAC layer so that the IP flows of eachapplication can be switched to appropriate destinations in a properpriority order.

2. PRIMMA IP Protocol Stack Vertical Signaling

For IP streams that originate from a local user's CPE, application-levelinformation about the nature of the application can be used by thesystem to assign appropriate QoS mechanism parameters to the IP stream.For IP streams that originate from a non-local host, information aboutthe IP streams for use in configuring the appropriate QoS mechanismparameters can be extracted from packet headers. The information aboutthe IP streams is communicated “vertically” in the protocol stack modelfrom the application layer (i.e. OSI level 7) to the PRIMMA MAC layer(i.e. OSI level 2) for bandwidth reservation and application switchingpurposes. Although this violates the conventional practice of providingisolation and independence to each layer of the protocol stack, therebysomewhat limiting the degree of interchangeability for individual layersof the stack, the advantages far outweigh the negatives in an IP-centricwireless broadband access system.

3. PRIMMA IP Flow Control and Application Switching

Based on a specific set of QoS requirements of each IP application flowin the IP-centric wireless system, applications are switched in a“proactive” manner by appropriate reservations of bandwidth over thewireless medium. The wireless transmission frames in each direction areconstructed in a manner dictated by the individual QoS requirements ofeach IP flow. By using QoS requirements to build the wirelesstransmission frames, optimal QoS performance can result over the entirerange of applications being handled by the system. For example, latencyand jitter sensitive IP telephony, other H.323 compliant IP streams, andreal-time audio and video streams can be given a higher priority foroptimal placement in the wireless transmission frames. On the otherhand, hypertext transport protocol (HTTP) traffic, such as, e.g.,initial web page transmissions, can be given higher bandwidthreservation priorities for that particular application task. Othertraffic without latency, jitter, or bandwidth requirements such as,e.g., file transfer protocol (FTP) file downloads, email transmissions,can be assigned a lower priority for system resources and placement inthe wireless transmission frame.

4. PRIMMA TCP Transmission Rate Agent

Wireless end users are separated from a high speed, low BER wirelinebackbone by a lower speed, high BER wireless segment which can besubject to burst error events. TCP/IP traffic that traverses thewireless segment can experience frequent packet loss that, withoutintervention, can create congestion collapse and global synchronizationas previously discussed. Therefore, it is desirable that the presentinvention's IP-centric wireless system make use of a TCP transmissionrate agent that can monitor packet loss over the wireless segment, andcan manage the remote TCP transmission rate function by recreating andtransmitting any lost packet acknowledgments. The PRIMMA MAC layer canitself retransmit any lost packets over the wireless medium.

The IP-centric wireless TCP transmission rate agent or “adjunct” canalso flow-control the IP streams when necessary, and in accordance withthe QoS requirements of the IP flows. All IP-centric wireless TCPtransmission rate agent functionality can be transparent to both localand remote hosts and applications.

F. Telecommunications Networks

1. Voice Network

a. Simple Voice Network

FIG. 1A is a block diagram providing an overview of a standardtelecommunications network 100 providing local exchange carrier (LEC)services within one or more local access and transport areas (LATAs).Telecommunications network 100 can provide a switched voice connectionfrom a calling party 102 to a called party 110. FIG. 1A is shown to alsoinclude a private branch exchange 112 which can provide multiple usersaccess to LEC services by, e.g., a private line. Calling party 102 andcalled party 110 can be ordinary telephone equipment, key telephonesystems, a private branch exchange (PBX) 112, or applications running ona host computer. Network 100 can be used for modem access as a dataconnection from calling party 102 to, for example, an Internet serviceprovider (ISP) (not shown). Network 100 can also be used for access to,e.g., a private data network. For example, calling party 102 can be anemployee working on a notebook computer at a remote location who isaccessing his employer's private data network through, for example, adial-up modem connection.

FIG. 1A includes end offices (EOs) 104 and 108. EO 104 is called aningress EO because it provides a connection from calling party 102 topublic switched telephone network (PSTN) facilities. EO 108 is called anegress EO because it provides a connection from the PSTN facilities to acalled party 110. In addition to ingress EO 104 and egress EO 108, thePSTN facilities associated with telecommunications network 100 includean access tandem (AT) (not shown) at points of presence (POPs) 132 and134 that can provide access to, e.g., one or more inter-exchangecarriers (IXCs) 106 for long distance traffic, see FIG. 2A.Alternatively, it would be apparent to a person having ordinary skill inthe art that IXC 106 could also be, for example, a CLEC, or otherenhanced service provider (ESP), an international gateway or globalpoint-of-presence (GPOP), or an intelligent peripheral (IP).

FIG. 1A also includes a private branch exchange (PBX) 112 coupled to EO104. PBX 112 couples calling parties 124 and 126, fax 116, clientcomputer 118 and associated modem 130, and local area network 128 havingclient computer 120 and server computer 122 coupled via an associatedmodem 130. PBX 112 is a specific example of a general class oftelecommunications devices located at a subscriber site, commonlyreferred to as customer premises equipment (CPE).

Network 100 also includes a common channel interactive signaling (CCIS)network for call setup and call tear down. Specifically, FIG. 1 includesa Signaling System 7 (SS7) signaling network 114. Signaling network 114will be described further below with reference to FIG. 2B.

b. Detailed Voice Network

FIG. 2A is a block diagram illustrating an overview of a standardtelecommunications network 200, providing both LEC and IXC carrierservices between subscribers located in different LATAs.Telecommunications network 200 is a more detailed version oftelecommunications network 100. Calling party 102 a and called party 110a are coupled to EO switches 104 a and 108 a, respectively. In otherwords, calling party 102 a is homed to ingress EO 104 a in a first LATA,whereas called party 110 a is homed to an egress EO 108 a in a secondLATA. Calls between subscribers in different LATAs are long distancecalls that are typically routed to IXCs. Sample IXCs in the UnitedStates include AT&T, MCI and Sprint.

Telecommunications network 200 includes access tandems (AT) 206 and 208.AT 206 provides connection to points of presence (POPs) 132 a, 132 b,132 c and 132 d. IXCs 106 a, 106 b and 106 c provide connection betweenPOPs 132 a, 132 b and 132 c (in the first LATA) and POPs 134 a, 134 band 134 c (in the second LATA). Competitive local exchange carrier(CLEC) 214 provides an alternative connection between POP 132 d and POP134 d. POPs 134 a, 134 b, 134 c and 134 d, in turn, are connected to AT208, which provides connection to egress EO 108 a. Called party 110 acan receive calls from EO 108 a, which is its homed EO.

Alternatively, it would be apparent to a person having ordinary skill inthe art that an AT 206 can also be, for example, a CLEC, or otherenhanced service provider (ESP), an international gateway or globalpoint-of-presence (GPOP), or an intelligent peripheral.

Network 200 also includes calling party 102 c homed to CLEC switch 104c. Following the 1996 Telecommunications Act in the U.S., CLECs gainedpermission to compete for access within the local RBOCs territory. RBOCsare now referred to as incumbent local exchange carriers (ILECs).

i. Fixed Wireless CLECs

Network 200 further includes a fixed wireless CLEC 209. Example fixedwireless CLECs are Teligent Inc., of Vienna, Va., WinStar CommunicationsInc., Advanced Radio Telecom Corp. And the BizTel unit of TeleportCommunications Group Inc. Fixed wireless CLEC 209 includes a wirelesstransceiver/receiver radio frequency (RF) tower 210 in communicationover an RF link to a subscriber transciever RF tower 212. Subscriber RFtower 212 is depicted coupled to a CPE box, PBX 112 b. PBX 112 b couplescalling parties 124 b and 126 b, fax 116 b, client computer 118 b andassociated modem 130 b, and local area network 128 b having clientcomputer 120 b and server computer 122 b coupled via an associated modem130 b.

Network 200 also includes called party 110 a, a fax 116 a, clientcomputer 118 a and associated modem 130 a, and cellular communicationsRF tower 202 and associated cellular subscriber called party 204, allcoupled to EO 108 a, as shown.

EO 104 a, 108 a and AT 206, 208 are part of a switching hierarchy. EO104 a is known as a class 5 office and AT 208 is a class 3/4 officeswitch. Prior to the divestiture of the regional Bell OperatingCompanies (RBOCs) from AT&T following the modified final judgment, anoffice classification was the number assigned to offices according totheir hierarchical function in the U.S. public switched network (PSTN).An office class is a functional ranking of a telephone central officeswitch depending on transmission requirements and hierarchicalrelationship to other switching centers. A class 1 office was known as aRegional Center (RC), the highest level office, or the “office of lastresort” to complete a call. A class 2 office was known as a SectionalCenter (SC). A class 3 office was known as a Primary Center (PC). Aclass 4 office was known as either a Toll Center (TC) if operators werepresent, or otherwise as a Toll Point (TP). A class 5 office was an EndOffice (EO), i.e., a local central office, the lowest level for localand long distance switching, and was the closest to the end subscriber.Any one center handles traffic from one or more centers lower in thehierarchy. Since divestiture and with more intelligent software inswitching offices, these designations have become less firm. Technologyhas distributed functionality closer to the end user, diffusingtraditional definitions of network hierarchies and the class ofswitches.

ii. Connectivity to Internet Service Providers (ISPs)

In addition to providing a voice connection from calling party 102 a tocalled party 110 a, the PSTN can provide calling party 102 a a dataconnection to an ISP (i.e. similar to client 118 b).

Network 200 can also include an Internet service provider (ISP) (notshown) which could include a server computer 122 coupled to a datanetwork 142 as will be discussed further below with reference to FIG.1B. The Internet is a well-known, worldwide network comprising severallarge networks connected together by data links. These links caninclude, for example, Integrated Digital Services Network (ISDN), T1,T3, FDDI and SONET links. Alternatively, an internet can be a privatenetwork interconnecting a plurality of LANs and/or WANs, such as, forexample, an intranet. An ISP can provide Internet access services forsubscribers such as client 118 b.

To establish a connection with an ISP, client 118 b can use a hostcomputer connected to a modem (modulator/demodulator) 130 b. The modemcan modulate data from the host computer into a form (traditionally ananalog form) for transmission to the LEC facilities. Typically, the LECfacilities convert the incoming analog signal into a digital form. Inone embodiment, the data is converted into the point-to-point protocol(PPP) format. (PPP is a well-known protocol that permits a computer toestablish a connection with the Internet using a standard modem. Itsupports high-quality, graphical user-interfaces.) As those skilled inthe art will recognize, other formats are available, including, e.g., atransmission control program, internet protocol (TCP/IP) packet format,a user datagram protocol, internet protocol (UDP/IP) packet format, anasynchronous transfer mode (ATM) cell packet format, a serial lineinterface protocol (SLIP) protocol format, a point-to-point (PPP)protocol format, a point-to-point tunneling protocol (PPTP) format, aNETBIOS extended user interface (NETBEUI) protocol format, an Appletalkprotocol format, a DECnet, BANYAN/VINES, an internet packet exchange(IPX) protocol format, and an internet control message protocol (ICMP)protocol format.

iii. Communications Links

Note that FIGS. 1A, 2A and other figures described herein include lineswhich may refer to communications lines or which may refer to logicalconnections between network nodes, or systems, which are physicallyimplemented by telecommunications carrier devices. These carrier devicesinclude circuits and network nodes between the circuits including, forexample, digital access and cross-connect system (DACS), regenerators,tandems, copper wires, and fiber optic cable. It would be apparent topersons having ordinary skill in the art that alternative communicationslines can be used to connect one or more telecommunications systemsdevices. Also, a telecommunications carrier as defined here, caninclude, for example, a LEC, a CLEC, an IXC, an Enhanced ServiceProvider (ESP), a global or international services provider such as aglobal point-of-presence (GPOP), and an intelligent peripheral.

EO 104 a and AT 206 are connected by a trunk. A trunk connects an AT toan EO. A trunk can be called an inter machine trunk (IMT). AT 208 and EO108 a are connected by a trunk which can be an IMT.

Referring to FIG. 1A, EO 104 and PBX 112 can be connected by a privateline with a dial tone. A private line can also connect an ISP (notshown) to EO 104, for example. A private line with a dial tone can beconnected to a modem bay or access converter equipment at the ISP.Examples of a private line are a channelized T1 or integrated servicesdigital network (ISDN) primary rate interface (PRI). An ISP can alsoattach to the Internet by means of a pipe or dedicated communicationsfacility. A pipe can be a dedicated communications facility. A privateline can handle data modem traffic to and from an ISP.

Trunks can handle switched voice traffic and data traffic. For example,trunks can include digital signals DS1-DS4 transmitted over T1-T4carriers. Table 2 provides typical carriers, along with their respectivedigital signals, number of channels, and bandwidth capacities.

TABLE 2 Bandwidth in Digital Number Designation Megabits per secondsignal of channels of carrier (Mbps) DS0  1 None 0.064 DS1 24 T1 1.544DS2 96 T2 6.312 DS3 672  T3 44.736  DS4 4032  T4 274.176 

Alternatively, trunks can include optical carriers (OCs), such as OC-1,OC-3, etc. Table 3 provides typical optical carriers, along with theirrespective synchronous transport signals (STSs), ITU designations, andbandwidth capacities.

TABLE 3 International Optical Electrical signal, Telecommunicationscarrier or synchronous Union Bandwidth in (OC) transport signal (ITU)Megabits per second signal (STS) terminology (Mbps) OC-1  STS-1   51.84OC-3  STS-3  STM-1  155.52 OC-9  STS-9  STM-3  466.56 OC-12 STS-12STM-4  622.08 OC-18 STS-18 STM-6  933.12 OC-24 STS-24 STM-8  1244.16 OC-36 STS-36 STM-12 1866.24  OC-48 STS-48 STM-16 2488.32 

As noted, a private line is a connection that can carry data modemtraffic. A private line can be a direct channel specifically dedicatedto a customer's use between two specified points. A private line canalso be known as a leased line. In one embodiment, a private line is anISDN/primary rate interface (ISDN PRI) connection. An ISDN PRIconnection can include a single signal channel (called a data or Dchannel) on a T1, with the remaining 23 channels being used as bearer orB channels. (Bearer channels are digital channels that bear voice anddata information.) If multiple ISDN PRI lines are used, the signalingfor all of the lines can be carried over a single D channel, freeing upthe remaining lines to carry only bearer channels.

iv. Telecommunications Traffic

Telecommunications traffic can be sent and received from any networknode of a telecommunications carrier. A telecommunications carrier caninclude, for example, a LEC, a CLEC, an IXC, and an Enhanced ServiceProvider (ESP). In an embodiment, this traffic can be received from anetwork node which is, for example, a class 5 switch, such as EO 104 a,or from a class 3/4 switch, such as AT 206. Alternatively, the networksystem can also be, for example, a CLEC, or other enhanced serviceprovider (ESP), an international gateway or global point-of-presence(GPOP), or an intelligent peripheral.

Voice traffic refers, for example, to a switched voice connectionbetween calling party 102 a and called party 110 a. It is important tonote that this is on a point-to-point dedicated path, i.e., thatbandwidth is allocated whether it is being used or not. A switched voiceconnection is established between calling party 102 a and EO 104 a, thento AT 206 then over an IXC's network such as that of IXC 106 a to AT 208and then to EO 108 a and over a trunk to called party 110 a. In anotherembodiment, AT 206 or IXC 106 a can also be, for example, a CLEC, orother enhanced service provider (ESP), an international gateway orglobal point-of-presence (GPOP), or an intelligent peripheral.

It is possible that calling party 102 a is a computer with a dataconnection to a server over the voice network. Data traffic refers, forexample, to a data connection between a calling party 102 a (using amodem) and a server 122 b that could be part of an ISP. A dataconnection can be established, e.g., between calling party 102 a and EO104 a, then to AT 206, then to CLEC 214, then over a fixed wireless CLEC209 link to PBX 112 b to a modem 130 b associated with server 122 b.

c. Signaling Network

FIG. 2B illustrates signaling network 114 in greater detail. Signalingnetwork 114 is a separate network used to handle the set up, tear down,and supervision of calls between calling party 102 and called party 110.Signaling network 114 in the given example is the Signaling System 7 to(SS7) network. Signaling network 114 includes service switching points(SSPs) 236, 238, 240 and 242, signal transfer points (STPs) 222, 224,226, 228, 230 and 232, and service control point (SCP) 234.

In the SS7 network, the SSPs are the portions of the backbone switchesproviding SS7 functions. The SSPs can be, for example, a combination ofa voice switch and an SS7 switch, or a computer connected to a voiceswitch. The SSPs communicate with the switches using primitives, andcreate packets for transmission over the SS7 network.

EOs 104 a, 108 a and ATs 206, 208 can be respectively represented in SS7signaling network 114 as SSPs 236, 238, 240 and 242. Accordingly, theconnections between EOs 104 a, 108 a and ATs 206, 208 (presented asdashed lines) can be represented by connections 254, 256, 258 and 268.The types of these links are described below.

The STPs act as routers in the SS7 network, typically being provided asadjuncts to in-place switches. The STPs route messages from originatingSSPs to destination SSPs. Architecturally, STPs can and are typicallyprovided in “mated pairs” to provide redundancy in the event ofcongestion or failure and to share resources (i.e., load sharing is doneautomatically). As illustrated in FIG. 2B, STPs can be arranged inhierarchical levels, to provide hierarchical routing of signalingmessages. For example, mated STPs 222, 224 and mated STPs 226, 228 areat a first hierarchical level, while mated STPs 230, 232 are at a secondhierarchical level.

SCPs provide database functions. SCPs can be used to provide advancedfeatures in an SS7 network, including routing of special service numbers(e.g., 800 and 900 numbers), storing information regarding subscriberservices, providing calling card validation and fraud protection, andoffering advanced intelligent network (AIN) services. SCP 234 isconnected to mated STPs 230 and 232.

In the SS7 network, there are unique links between the different networkelements. Table 4 provides definitions for common SS7 links.

Referring to FIG. 2B, mated STP pairs are connected by C links. Forexample, STPs 222, 224, mated STPs 226, 228, and mated STPs 230, 232 areconnected by C links (not labeled). SSPs 236, 238 and SSPs 240, 242 areconnected by F links 262 and 264.

Mated STPs 222, 224 and mated STPs 226, 228, which are at the samehierarchical level, are connected by B links 270, 272, 244 and 282.Mated STPs 222, 224 and mated STPs 230, 232, which are at differenthierarchical levels, are connected by D links 266, 268, 274 and 276.Similarly, mated STPs 226, 228 and mated STPs 230, 232, which are atdifferent hierarchical levels, are connected by D links 278, 280, 246and 248.

SSPs 236, 238 and mated STPs 222, 224 are connected by A links 254 and256. SSPs 240, 242 and mated STPs 226, 228 are connected by A links 258and 260.

SSPs 236, 238 can also be connected to mated STPs 230, 232 by E links(not shown). Finally, mated STPs 230, 232 are connected to SCP 234 by Alinks 250 and 252.

For a more elaborate description of SS7 network topology, the reader isreferred to Russell, Travis, Signaling System #7, McGraw-Hill, New York,N.Y. 10020, ISBN 0-07-054991-5, which is incorporated herein byreference in its entirety.

TABLE 4 SS7 link terminology Definitions Access (A) links A linksconnect SSPs to STPs, or SCPs to STPs, providing network access anddatabase access through the STPs. Bridge (B) links B links connect matedSTPs to other mated STPs. Cross (C) links C links connect the STPs in amated pair to one another. During normal conditions, only networkmanagement messages are sent over C links. Diagonal (D) links D linksconnect the mated STPs at a primary hierarchical level to mated STPs ata secondary hierarchical level. Extended (E) links E links connect SSPsto remote mated STPs, and are used in the event that the A links to homemated STPs are congested. Fully associated (F) links F links providedirect connections between local SSPs (bypassing STPs) in the eventthere is much traffic between SSPs, or if a direct connection to an STPis not available. F links are used only for call setup and callteardown.

d. SS7 Signaled Call Flow

To initiate a call in an SS7 telecommunications network, a calling partyusing a telephone connected to an ingress EO switch, dials a telephonenumber of a called party. The telephone number is passed from thetelephone to the SSP at the ingress EO of the calling party's localexchange carrier (LEC). First, the SSP can process triggers and internalroute rules based on satisfaction of certain criteria. Second, the SSPcan initiate further signaling messages to another EO or access tandem(AT), if necessary. The signaling information can be passed from the SSPto STPs, which route the signals between the ingress EO and theterminating end office, or egress EO. The egress EO has a portdesignated by the telephone number of the called party. The call is setup as a direct connection between the EOs through tandem switches if nodirect trunking exists or if direct trunking is full. If the call is along distance call, i.e., between a calling party and a called partylocated in different local access transport areas (LATAs), then the callis connected through an inter exchange carrier (IXC) switch. Such a longdistance call is commonly referred to as an inter-LATA call. LECs andIXCs are collectively referred to as the public switched telephonenetwork (PSTN).

Passage of the Telecommunications Act of 1996, authorizing competitionin the local phone service market, has permitted CLECs to compete withILECs in providing local exchange services. This competition, however,has still not provided the bandwidth necessary to handle the largevolume of voice and data communications. This is due to the limitationsof circuit switching technology which limits the bandwidth of theequipment being used by the LECs, and to the high costs of addingadditional equipment.

e. Circuit-switching

Circuit switching dedicates a channel to a call for the duration of thecall. Thus, using circuit switching, a large amount of switchingbandwidth is required to handle the high volume of voice calls. Thisproblem is compounded by the use of voice circuits to carry datacommunications over the same equipment that were designed to handlevoice communications.

i. Time Division Multiplexed (TDM) Circuit Switching

TDM circuit switching creates a full-time connection or a dedicatedcircuit between any two attached devices for the duration of theconnection. TDM divides the bandwidth down int fixed time slots in whichthere can be multiple time slots, each with its own fixed capacity,available. Each attached device on the TDM network is assigned a fixedportion of the bandwidth using one or more time slots depending on theneed for speed. When the device is in transmit mode, the data is merelyplaced in this time slot without any extra overhead such as processingor translations. Therefore, TDM is protocol transparent to the trafficbeing carried. Unfortunately, however, when the device is not sendingdata, the time slots remain empty, thereby wasting the use of thebandwidth. A higher-speed device on the network can be slowed down orbottled up waiting to transmit data, but the capacity that sits idlecannot be allocated to this higher priority device for the duration ofthe transmission. TDM is not well suited for the bursts of data that arebecoming the norm for the data needs in today's organization.

2. Data Network

FIG. 1B depicts an example network 148 including workstations 144 and146 coupled to data network 142. Data network 142 can act as a wide areanetwork (WAN) for coupling a plurality of local area networks (LANs)together. Network 148 includes an example local area network including aplurality of host computers such as, e.g., client workstation 138 andserver 136, coupled together by wiring including network interface cards(NICs) and a hub, such as, e.g., an Ethernet hub. The LAN is coupled todata network 142 by a network router 140 which permits data traffic tobe routed to workstations 144 and 146 from client 138 and server 136.

a. Packet-switching

Unlike voice networks 100 and 200 described above with reference toFIGS. 1A and 2A which transport traffic over circuit-switchedconnections, data network 148 transports traffic using packet switching.

Currently, internets, intranets, and similar public or private datanetworks that interconnect computers generally use packet switchingtechnology. Packet switching provides for more efficient use of acommunication channel than does circuit switching. Packet switchednetworks transport packets of information which can include varioustypes of data such as, e.g., digitized voice, data, and video. Withpacket switching, many different calls can share a communication channelrather than the channel being dedicated to a single call. During a voicecall, for instance, digitized voice information might be transferredbetween the callers only 60% of the time, with silence being transferredthe other 40% of the time. With a circuit switched connection, the voicecall could tie-up a communications channel that could have 50% of itsbandwidth, unused because of the silence. For a data call, informationmight be transferred between two computers only 10% of the time. Withthe data call, 90% of the channel's bandwidth may go unused. Incontrast, a packet-switched connection would permit the voice call, thedata call and possibly other call information to all be sent over thesame channel.

Packet switching breaks a media stream into pieces known as, forexample, packets, cells or frames. Each packet can then be encoded withaddress information for delivery to the proper destination and can besent through the network. The packets can be received at the destinationand the media stream is reassembled into its original form for deliveryto the recipient. This process is made possible using an importantfamily of communications protocols, commonly called the InternetProtocol (IP).

In a packet-switched network, there is no single, unbroken physicalconnection between sender and receiver. The packets from many differentcalls share network bandwidth with other transmissions. The packets canbe sent over many different routes at the same time toward thedestination, and can then be reassembled at the receiving end. Theresult is much more efficient use of a telecommunications network'sbandwidth than could be achieved with circuit-switching.

b. Routers

Data network 142 can include a plurality of network routers 140. Networkrouters are used to route information between multiple networks. Routersact as an interface between two or more networks. Routers can find thebest path between any two networks, even if there are several differentnetworks between the two networks.

Network routers can include tables describing various network domains. Adomain can be thought of as a local area network (LAN) or wide areanetwork (WAN). Information can be transferred between a plurality ofLANs and/or WANs via network routers. Routers look at a packet anddetermine from the destination address in the header of the packet, thedestination domain of the packet. If the router is not directlyconnected to the destination domain, then the router can route thepacket to the router's default router, i.e. a router higher in ahierarchy of routers. Since each router has a default router to which itis attached, a packet can be transmitted through a series of routers tothe destination domain and to the destination host bearing the packet'sfinal destination address.

c. Local Area Networks (LANS) and Wide Area Networks (WANs)

A local area network (LAN) can be thought of as a plurality of hostcomputers interconnected via network interface cards (NICs) in the hostcomputers. The NICs are connected via, for example, copper wires so asto permit communication between the host computers. Examples of LANsinclude an ethernet bus network, an ethernet switch network, a tokenring network, a fiber digital data interconnect (FDDI) network, and anATM network.

A wide area network (WAN) is a network connecting host computers over awide area. In order for host computers on a particular LAN tocommunicate with a host computer on another LAN or on a WAN, networkinterfaces interconnecting the LANs and WANs must exist. An example of anetwork interface is a router discussed above.

A network designed to interconnect multiple LANs and/or WANs is known asan internet (with a lower case “i”). An internet can transfer databetween any of a plurality of networks including both LANs and WANs.Communication occurs between host computers on one LAN and hostcomputers on another LAN via, for example, an internet protocol (IP)protocol. The IP protocol is used to assign each host computer of anetwork, a unique IP address enabling packets to be transferred over theinternet to other host computers on other LANs and/or WANs that areconnected to the internet. An internet can comprise a routerinterconnecting two or more networks.

The “Internet” (with a capital “I”) is a global internet interconnectingnetworks all over the world. The Internet includes a global network ofcomputers which intercommunicate via the internet protocol (IP) familyof protocols.

An “intranet” is an internet which is a private network that usesinternet software and internet standards, such as the internet protocol(IP). An intranet can be reserved for use by parties who have been giventhe authority necessary to use that network.

d. Switching vs. Routing

Routing is done at the middle network architecture levels on suchprotocols as IPX or TCP/IP. Switching is done at a lower level, at layer2 of the OSI model, i.e. the media access control (MAC) layer.

e. TCP/IP Packet-centric vs. ATM Circuit-centric Data Networks

Asynchronous Transfer Mode (ATM) is a fixed- size cell switchedcircuit-centric data network. ATM implements virtual circuits (VCs),virtual paths (VPs) and transmission paths (TPs). A circuit-centricnetwork like ATM sets up virtual circuits between source and destinationnodes which provide QoS by dedicating the virtual circuit to a specifictraffic type.

Some networks are packet-centric networks. Unlike a circuit-centricnetwork, a packet-centric network does not use dedicated circuitsthrough which to transfer packets. TCP/IP performs a packetization ofuser data to be sent between and among the various systems on the IPnetwork. When a large file is sent down the protocol stack, the IPfunction is responsible for segmentation and packetization of the data.Then a header is placed on the packet for delivery to the data link. Therouting and switching of this data is handled at the IP (i.e. network)layer. IP is in a sense a dumb protocol. When a packet is prepared fortransmission across the medium, IP does not specifically route the callacross a specific channel. Instead, it places a header on the packet andlets the network deal with it. Therefore, the outward bound packets cantake various routes to get from a source to a destination. This meansthat the packets are in a datagram form and not sequentially numbered asthey are in other protocols. IP makes its best attempt to deliver thepackets to the destination network interface; but it makes no assurancesthat data will arrive, that data will be free of errors, and that nodesalong the way will concern themselves with the accuracy of the data andsequencing, or come back and alert the originator that something iswrong in the delivery mechanism. It is possible that in IP routing of apacket, the packet can be sent along the network in a loop, so IP has amechanism in its header information to allow a certain number of “hops”or what is called “time to live” on the network. Rather than permit anundeliverable pack to loop around the network, IP has a countermechanism that decrements every time the packet passes through a networknode. If the counter expires, the node will discard the packet. Workingtogether with IP is TCP which provides controls to ensure that areliable data stream is sent and delivered. At the sending end, TCP putsa byte count header on information that will be delivered to the IPprotocol layer and encapsulates it as part of the packet. The receivingend, when it gets packets is responsible for resequencing the packetsand ensuring its accuracy. If all of the IP flow is not receivedcorrectly, the byte count acknowledgment or nonacknowledgment messagecan be sent back to the sending end, prompting the sending end to resendthe bytes necessary to fill in the remaining portions of the packetflow. TCP buffers additional packets until after resending thenonacknowledged packet.

3. Video Network

FIG. 1C illustrates a conventional video network 150 such as, e.g., acable television (CATV) network. Video network 150 can include videonetwork 160 coupled to various video capture, distribution links andvideo output monitors. Video input devices can include, e.g., conferencecameras 154 and 158. Video output devices can include, e.g., televisions152 and 156. Video network 160 can include a variety of head end (i.e.the serving end of the cable) and distribution link equipment such as,e.g., coaxial cable television (CATV) and national television standardcode (NTSC) tuner equipment for multiplexing various videosignals.Standard cable systems have an immense amount of bandwidthavailable to them.

It is important to note that CATV is a wireless communication method.The frequencies of many video signals are distributed along the cable atthe same time. A television tuner selects a particular channel by tuninginto a specific frequency or a “frequency band.”

Although a cable television CATV video network often includes only onephysical cable, a number of channels can simultaneously be present onthe cable. This accomplished by sharing the frequency spectrum of thecable and assigning different frequency ranges to different channelsusing frequency division multiplexing (FDM). A broadband cablecommunications system can operate exactly like a CATV system. A counterto this FDM technique is division of the cable not divided intofrequency bands but into time slots using time-division multiplexing(TDM). With TDM, each transmitting video station can grab the entirebandwidth of the cable,but only for a very short period of time. Thecable is currently capable of carrying up to 750 MHz. FDM techniques canbe used to divide the channels into a number of dedicated logicalchannels. Innovations have allowed a time division multiple access(TDMA) within an FDM channel.

A cable system can allow multiplexing on two separate dimensions toachieve data channels over a cable. The channels can be separated byFDM, and in a frequency band the channel can then be shared via TDMAamong multiple users. The most common of the TDMA access methods onbroadband cable is CSMA/CD developed by XEROX for Ethernet.

Using a single cable, a midsplit arrangement can accommodate two-waysimultaneous transmission. Another way to accomodate this is to use adual cable system.

Broadband is inherently an analog signaling method. Because videocameras, e.g., a re also analog devices, a signal from a video camera(or video recorder) can be directly transmitted onto a broadband cablechannel in red/green/blue (RGB) format.

G. Convergence of Voice/data/video Networks

Recognizing the inherent efficiency of packet-switched data networkssuch as the Internet, attention has recently focused on the digitizationand transmission of voice, data, video and other information overconverged packet-switched data networks. In order to deliver a highquality of service (QoS) end-user experience, the data networks attemptto provide mechanisms to deliver the different types of informationtimely and with appropriate bandwidth to provide an acceptable end-userexperience.

FIG. 2C illustrates an example network 286 carrying voice, data andvideo traffic over a data network. Network 286 includes calling party102 b homed to EO 104 b, where EO 104 b is linked to a telephony gateway288 b. Network 286 also includes called party 110 c homed to EO 108 c,where EO 108 c is linked to a telephony gateway 288 c. EOs 104 b and 108c and telephony gateways 288 b and 288 c can be linked to signalingnetwork 114. Telephony gateways 288 b and 288 c can also be coupled todata network 142 via routers 140 b and 140 c, respectively.

Still referring to FIG. 2C, telephony gateways 288 b and 288 c can beused to packetize voice traffic and signaling information into a formappropriate for transport over data network 142. It would be apparent tothose skilled in the art that telephony gateways 288 b and 288 c caninclude various computer devices designed for controlling, setting upand tearing down calls. Voice calls delivered over the data network caninclude, e.g., voice over packet (VoP), voice over data (VoD), voiceover internet protocol (VoIP), voice over asynchronous transfer mode(VoATM), voice over frame (VoF). An example of a telephony gateway 288 band 288 c is a media gateway control protocol (MGCP) compliant gatewayavailable from various vendors such as, e.g., Lucent, of Parsippany,N.J., and CISCO of Palo Alto, Calif. It is important to note that othernetwork devices such as a softswitch available from several membercompanies of the SoftSwitch Consortium, including Level 3 Communicationsof Louisville, Colo., could also be necessary to enable transport of,e.g., VoIP.

Network 286 is depicted to include other devices coupled to data network142. First, an H.323 compliant video-conferencing system 289 isillustrated including a camera 154 g and television 152 g and router 140g. Second, a local area network (LAN) 128 a including a clientworkstation 138 a and a server 136 a are coupled to data network 142 vianetwork router 140 a. Similarly, LAN 128 f having a client workstation138 f and a server 136 f are coupled via network router 140 f to datanetwork 142.

Data Network 142 can provide for routing of packets of informationthrough network routing devices from source locations to destinationlocations coupled to data network 142. For example, data network 142 canroute internet protocol (IP) packets for transmission of voice and datatraffic from telephony gateway 288 b to telephony gateway 288 c. DataNetwork 142 represents any art-recognized packet centric data network.One well-known data network is the global Internet. Other examplesinclude a private intranet, a packet-switched network, a frame relaynetwork, and an asynchronous transfer mode (ATM) circuit-centricnetwork.

In an example embodiment, data network 142 can be an IP packet-switchednetwork. A packet-switched network such as, e.g., an IP network, unlikea circuit-switched network, does not require dedicated circuits betweenoriginating and terminating locations within the packet switchednetwork. The packet-switched network instead breaks a message intopieces known as packets of information. Such packets can then beencapsulated with a header which designates a destination address towhich the packet must be routed. The packet-switched network then takesthe packets and routes them to the destination designated by thedestination address contained in the header of the packet.

Routers 140 a, 140 b, 140 c, 140 d, 140 e, 140 f and 140 g can beconnected to one another via physical media such as, for example,optical fiber link connections, and copper wire connections. Routers 140a-g transfer information between one another and intercommunicateaccording to routing protocols.

Data network 142 could be implemented using any data network such as,e.g., IP networks, ATM virtual circuit-centric networks, frame relaynetworks, X.25 networks, and other kinds of LANs and WANs. Other datanetworks could be used interchangeably for data network 142 such as, forexample, FDDI, Fast Ethernet, or an SMDS packet switched network. Framerelay and ATM are connection-oriented, circuit-centric services.Switched multi-megabyte data service (SMDS) is a connection-orientedmass packet service that offers speeds up to 45 Mbps.

1. Example Data Networks

a. Asynchronous Transfer Mode (ATM)

ATM is a high-bandwidth, low-delay, fixed-sized cell-based multiplexingnetwork technology. Bandwidth capacity is segmented into 53-byte cells,having a header and payload fields. ATM uses fixed-length cells with thebelief that the fixed length cells can be switched more easily inhardware than variable size packets and thus should result in fastertransmissions in certain environments.

The ATM environment sets up virtual circuits in a circuit-centricmanner. Thus, ATM segments variable length IP packet flows into fixedsize cells using a segmentation and resequencing algorithm (SAR). EachATM cell contains a 48-byte payload field and a 5-byte header thatidentifies the so-called “virtual circuit” of the cell. ATM is thoughtsuitable for high-speed combinations of voice, data, and video services.Currently, ATM access can perform at speeds as high as 622 Mbps orhigher. ATM has recently been doubling its maximum speed every year.

ATM is defined by a protocol standardized by the InternationalTelecommunications Union (ITU-T), American National Standards Institute(ANSI), ETSI, and the ATM Forum. ATM comprises a number of buildingblocks, including transmission paths, virtual paths, and virtualchannels. Asynchronous transfer mode (ATM) is a cell based switching andmultiplexing technology designed to be a general purposeconnection-oriented transfer mode for a wide range of telecommunicationsservices. ATM can also be applied to LAN and private networktechnologies as specified by the ATM Forum.

ATM handles both connection-oriented traffic directly or throughadaptation layers, or connectionless traffic through the use ofadaptation layers. ATM virtual connections may operate at either aconstant bit rate (CBR) or a variable bit rate (VBR). Each ATM cell sentinto an ATM network contains a small header including information thatestablishes a virtual circuit-centric connection from origination todestination. All cells are transferred, in sequence, over this virtualconnection. ATM provides either permanent or switched virtualconnections (PVCs or SVCs). ATM is asynchronous because the transmittedcells need not be periodic as time slots of data are required to be insynchronous transfer mode (STM).

ATM uses an approach by which a header field prefixes each fixed-lengthpayload. The ATM header identifies the virtual channel (VC). Therefore,time slots are available to any host which has data ready fortransmission. If no hosts are ready to transmit, then an empty, or idle,cell is sent.

ATM permits standardization on one network architecture defining amultiplexing and a switching method. Synchronous optical network (SONET)provides the basis for physical transmission at very high-speed rates.ATM can also support multiple quality of service (QoS) classes fordiffering application requirements by providing separate virtualcircuits for different types of traffic, depending on delay and lossperformance. ATM can also support LAN-like access to availablebandwidth.

Cells are mapped into a physical transmission path, such as the NorthAmerican DS1, DS3, and SONET; European, E1, E3, and E4; ITU-T STMstandards; and various local fiber and electrical transmission payloads.All information is multiplexed and switched in an ATM network via thesefixed-length cells.

The ATM cell header field identifies cell type, and priority, andincludes six portions. An ATM cell header includes a generic flowcontrol (GFC), a virtual path identifier (VPI), a virtual channelidentifier (VCI), a payload type (PT), a call loss priority (CLP), and aheader error check (HEC). VPI and VCI hold local significance only, andidentify the destination. GFC allows a multiplexer to control the rateof an ATM terminal. PT indicates whether the cell contains user data,signaling data, or maintenance information. CLP indicates the relativepriority of the cell, i.e., lower priority cells are discarded beforehigher priority cells during congested intervals. HEC detects andcorrects errors in the header.

The ATM cell payload field is passed through the network intact, with noerror checking or correction. ATM relies on higher-layer protocols toperform error checking and correction on the payload. For example, atransmission control protocol (TCP) can be used to perform errorcorrection functions. The fixed cell size simplifies the implementationof ATM switches and multiplexers and enables implementations at highspeeds.

When using ATM, longer packets cannot delay shorter packets as in otherpacket-switched networks, because long packets are separated into manyfixed length cells. This feature enables ATM to carry CBR traffic, suchas voice and video, in conjunction with VBR data traffic, potentiallyhaving very long packets, within the same network.

ATM switches take traffic and segment it into the fixed-length cells,and multiplex the cells into a single bit stream for transmission acrossa physical medium. As an example, different kinds of traffic can betransmitted over an ATM network including voice, video, and datatraffic. Video and voice traffic are very time-sensitive, so delaycannot have significant variations. Data, on the other hand, can be sentin either connection-oriented or connectionless mode. In either case,data is not nearly as delay-sensitive as voice or video traffic. Datatraffic, as e.g., spread sheet data requires accurate transmission.Therefore, ATM conventionally must discriminate between voice, video,and data traffic. Voice and video traffic requires priority andguaranteed delivery with bounded delay, while data traffic requires,simultaneously, assurance of low loss. In a converged data network, datatraffic can also carry voice traffic, making it also time-dependent.Using ATM, in one embodiment, multiple types of traffic can be combinedover a single ATM virtual path (VP), with virtual circuits (VCs) beingassigned to separate data, voice, and video traffic.

A transmission path can include one or more VPs. Each VP can include oneor more VCs. Thus, multiple VCs can be trunked over a single VP.Switching can be performed on a transmission path, VPs, or at the levelof VCs.

The capability of ATM to switch to a virtual channel level is similar tothe operation of a private or public branch exchange (PBX) or telephoneswitch in the telephone world. In a PBX switch, each channel within atrunk group can be switched. Devices which perform VC connections arecommonly called VC switches because of the analogy to telephoneswitches. ATM devices which connect VPs are commonly referred to as VPcross-connects, by analogy with the transmission network. The analogiesare intended for explanatory reasons, but should not be taken literally.An ATM cell-switching machine need not be restricted to switching onlyVCs and cross-connection to only VPs.

At the ATM layer, users are provided a choice of either a virtual pathconnection (VPC) or a virtual channel connection (VCC). Virtual pathconnections (VPCs) are switched based upon the virtual path identifier(VPI) value only. Users of a VPC can assign VCCs within a VPItransparently, since they follow the same route. Virtual channelconnections (VCCs) are switched upon a combined VPI and virtual channelidentifier (VCI) value.

Both VPIs and VCIs are used to route calls through a network. Note thatVPI and VCI values must be unique on a specific transmission path (TP).

It is important to note that data network 142 can be any of a number ofother data-type networks, including various packet-switched data-typenetworks, in addition to an ATM network.

b. Frame Relay

Alternatively, data network 142 can be a frame relay network. It wouldbe apparent to persons having ordinary skill in the art, that a framerelay network could be used as data network 142. Rather thantransporting data in ATM cells, data could be transported in frames.

Frame relay is a packet-switching protocol used in WANs that has becomepopular for LAN-to-LAN connections between remote locations. Formerlyframe relay access would top out at about 1.5 Mbps. Today, so-called“high-speed” frame relay offers around 45 Mbps. This speed is stillrelatively slow as compared with other technology such as ATM.

Frame relay services employ a form of packet-switching analogous to astreamlined version of X.25 networks. The packets are in the form offrames, which are variable in length. The key advantage to this approachit that a frame relay network can accommodate data packets of varioussizes associated with virtually any native data protocol. A frame relaynetwork is completely protocol independent. A frame relay networkembodiment of data network 142 does not undertake a lengthy protocolconversion process, and therefore offers faster and less-expensiveswitching than some alternative networks. Frame relay also is fasterthan traditional X.25 networks because it was designed for the reliablecircuits available today and performs less-rigorous error detection.

c. Internet Protocol (IP)

In an embodiment, data network 142 can be an internet protocol (IP)network over an ATM network. It would be apparent to those skilled inthe art, that an internet protocol (IP) network over various other datalink layer network such as, e.g., Ethernet, could be used as datanetwork 142. Rather than transporting data in fixed length ATMcircuit-centric cells, data could be transported in variable length IPdatagram packet-centric packets as segmented by TCP. The IP data networkcan lie above any of a number of physical networks such as, for example,a SONET optical network.

2. Virtual Private Networks (VPNs)

A virtual private network (VPN) is a wide area communications networkoperated by a telecommunications carrier that provides what appears tobe dedicated lines when used, but that actually includes trunks sharedamong all customers as in a public network. Just as a VPN can beprovided as a service through a wireline network, a VPN can be providedin a wireless network. A VPN can allow a private network to beconfigured within a public network.

VPNs can be provided by telecommunications carriers to customers toprovide secure, guaranteed, long-distance bandwidth for their WANs.These VPNs generally use frame relay or switched multi-megabyte dataservice (SMDS) as a protocol of choice because those protocols definegroups of users logically on the network without regard to physicallocation. ATM has gained favor as a VPN protocol as companies requirehigher reliability and greater bandwidth to handle more complexapplications. VPNs using ATM offer networks of companies with the samevirtual security and QoS as WANs designed with dedicated circuits.

The Internet has created an alternative to VPNs, at a much lower cost,i.e. the virtual private Internet. The virtual private Internet (VPI)lets companies connect disparate LANs via the Internet. A user installseither a software-only or a hardware-software combination that creates ashared, secure intranet with VPN-style network authorizations andencryption capabilities. A VPI normally uses browser-basedadministration interfaces.

3. H.323 Video Conferencing

The H.323 Recommendation for video conferencing will now be brieflyoverviewed. The H.323 standard provides a foundation for, for example,audio, video, and data communications across IP-based networks,including the Internet. By complying with the H.323. Recommendation,multimedia products and applications from multiple vendors caninteroperate, allowing users to communicate without concern forcompatibility. H.323 promises to be the foundation of future LAN-basedproducts multimedia applications.

H.323 is an umbrella recommendation from the InternationalTelecommunications Union (ITU) that sets standards for multimediacommunications over Local Area Networks (LANs) that do not provide aguaranteed Quality of Service (QoS). These networks dominate today'scorporate desktops and include packet-switched TCP/IP and IPX overEthernet, Fast Ethernet and Token Ring network technologies. Therefore,the H.323 standards are important building blocks for a broad new rangeof collaborative, LAN-based applications for multimedia communications.

The H.323 specification was approved in 1996 by the ITU's Study Group16. Version 2 was approved in January 1998. The standard is broad inscope and includes both stand-alone devices and embedded personalcomputer technology as well as point-to-point and multipointconferences. H.323 also addresses call control, multimedia management,and bandwidth management as well as interfaces between LANs and othernetworks.

H.323 is part of a series of communications standards that enablevideoconferencing across a range of networks. Known as H.32X, thisseries includes H.320 and H.324, which address ISDN and PSTNcommunications, respectively.

The H.323 architecture defines four major components for network-basedcommunications, including terminals, gateways, gatekeepers, andmultipoint control units (MCUs).

Terminals are client endpoints on the LAN that provide real-time,two-way communications. All terminals support voice communications;video and data are optional. H.323 specifies the modes of operationrequired for different audio, video, and/or data terminals to worktogether. H.323 is the standard of next generation Internet phones,audio conferencing terminals, and video conferencing technologies.

All H.323 terminals also support H.245, which is used to negotiatechannel usage and capabilities. Three other components are required:Q.931 for call signaling and call setup, a component calledRegistration/Admission/Status (RAS), which is a protocol used tocommunicate with a gatekeeper; and support for RTP/RTCP for sequencingaudio and video packets.

Optional components in an H.323 terminal are video codecs, T.120 dataconferencing protocols, and MCU capabilities.

A gateway is an optional element in an H.323 conference. An H.323gateway can provide many services, the most common being a translationfunction between H.323 conferencing endpoints and other terminal types.This function includes translation between transmission formats (i.e.H.225.0 to H.221) and between communications procedures (i.e. H.245 toH.242). In addition, a gateway also translates between audio and videocodecs and performs call setup and clearing on both the LAN side and theswitched-circuit network side.

In general, the purpose of the H.323 gateway is to reflectcharacteristics of a LAN endpoint to an SCN endpoint and vice versa. Theprimary applications of gateways are likely to be establishing linkswith analog PSTN terminals, establishing links with remote H.320compliant terminals over ISDN-based switched-circuit networks, andestablishing links with remote H.324-compliant terminals over PSTNnetworks.

Gateways are not required if connections to other networks are notneeded, since endpoints may directly communicate with other endpoints onthe same LAN. Terminals communicate with gateways using the H.245 andQ.931 protocols.

With the appropriate transcoders, H.323 gateways 5806 can supportterminals that comply with H.310, H.321, H.322, and V.70.

Many gateway functions are left to the designer. For example, the actualnumber of H.323 terminals that can communicate through the gateway isnot subject to standardization. Similarly, the number of SCNconnections, the number of simultaneous independent conferencessupported, the audio/video/data conversion functions, and inclusion ofmultipoint functions are left to the manufacturer. By incorporatingH.323 gateway technology into the H.323 specification, the ITU haspositioned H.323 as the means to hold standards-based conferencingendpoints together.

The gatekeeper is the most important component of an H.323 enablednetwork. It can act as the central point for all calls within its zoneand provides call control services to registered endpoints. In manyways, an H.323 gatekeeper acts as a virtual switch.

Gatekeepers perform two important call control functions. The first isaddress translation from LAN aliases for terminals and gateways to IP orIPX addresses, as defined in the RAS specification. The second functionis bandwidth management, which is also designated within RAS. Forinstance, if a network manager has specified a threshold for the numberof ID simultaneous conferences on the LAN, the gatekeeper can refuse tomake any more connections once the threshold is reached. The effect isto limit the total conferencing bandwidth to some fraction of the totalavailable; the remaining capacity is left for e-mail, file transfers,and other LAN protocols. A collection of all terminals, gateways, andmultipoint control units which can be managed by a single gatekeeper areknown as an H.323 Zone.

An optional, but valuable feature of a gatekeeper is its ability toroute H.323 calls. By routing a call through a gatekeeper, it can becontrolled more effectively. Service providers need this ability inorder to bill for calls placed through their network. This service canalso be used to re-route a call to another endpoint if a called endpointis unavailable. In addition, a gatekeeper capable of routing H.323 callscan help make decisions involving balancing among multiple gateways. Forinstance, if a call is routed through a gatekeeper, that gatekeeper canthen re-route the call to one of many gateways based on some proprietaryrouting logic.

While a gatekeeper is logically separate from H.323 endpoints, vendorscan incorporate gatekeeper functionality into the physicalimplementation of gateways and MCUs.

A gatekeeper is not required in an H.323 system. However, if agatekeeper is present, terminals must make use of the services offeredby gatekeepers. RAS defines these as address translation, admissionscontrol, bandwidth control, and zone management.

Gatekeepers can also play a role in multipoint connections. To supportmultipoint conferences, users would employ a gatekeeper to receive H.245control channels from two terminals in a point-to-point conference. Whenthe conference switches to multipoint, the gatekeeper can redirect theH.245 Control Channel to a multipoint controller, the MC. A gatekeeperneed not process the H.245 signaling; it only needs to pass it betweenthe terminals or between the terminals and the MC.

LANs which contain gateways could also contain a gatekeeper to translateincoming E.164 addresses into Transport Addresses. Because a Zone isdefined by its gatekeeper, H.323 entities that contain an internalgatekeeper can require a mechanism to disable the internal function sothat when there are multiple H.323 entities that contain a gatekeeper ona LAN, the entities can be configured into the same Zone.

The Multipoint Control Unit (MCU) supports conferences between three ormore endpoints. Under H.323, an MCU consists of a Multipoint Controller(MC), which is required, and zero or more Multipoint Processors (MP).The MC handles H.245 negotiations between all terminals to determinecommon capabilities for audio and video processing. The MC also controlsconference resources by determining which, if any, of the audio andvideo streams will be multicast.

The MC does not deal directly with any of the media streams. This isleft to the MP, which mixes, switches, and processes audio, video,and/or data bits. MC and MP capabilities can exist in a dedicatedcomponent or be part of other H.323 components.

The present invention supports multicast for wireless base station 302,including providing: compatibility with RFC 1112, 1584; recognition andsupport of multicasting applications, including: multimedia,teleconferencing, database, distributed computing, real-time workgroups;support of broadcasting function over wireless link; preservesbandwidth, retains QoS latency performance; support of IPv6 IGMP andIPv4 IGMP multicast; group membership query, group membership reportmessages.

Approved in January of 1998, version 2 of the H.323 standard addressesdeficiencies in version 1 and introduces new functionality withinexisting protocols, such as Q.931, H.245 and H.225, as well as entirelynew protocols. The most significant advances were in security, fast callsetup, supplementary services and T.120/H.323 integration.

G. Packet-centric QoS-aware Wireless Point-to-MultiPoint (PtMP)Telecommunications System

1. Wireless Point-to-MultiPoint Telecommunications System

FIG. 2D depicts network 296 including a point-to-multipoint (PtMP)wireless network 298 coupled via router 140 d to data network 142. It isimportant to note that network 296 includes network 286 from FIG. 2C,plus PtMP wireless network 298. PtMP wireless network 298 enablescustomer premise equipment (CPE) at a subscriber location to gain accessto the. various voice, data and video resources coupled to data network142 by means of wireless connectivity over a shared bandwidth. Thewireless PtMP network 298 is a packet switched network which is TCP/IPpacket-centric (i.e. no dedicated circuit is created in delivering acommunication IP flow) and QoS aware.

Specifically, PtMP wireless network 298 includes a wireless access point(WAP) 290 d coupled to router 140 d by, e.g., a wireline connection. Awireless access point 290 e can be similarly coupled to router 140 e bya wireline connection. WAP 290 d is in wireless communication, such as,e.g., radio frequency (RF) communication, with one or more wirelesstransciever subscriber antennae 292 d and 292 e. It would be apparent tothose skilled in the art that various wireless communication methodscould be used such as, e.g., microwave, cellular, spread spectrum,personal communications systems (PCS), and satellite.

In an alternative embodiment, RF communication is accomplished overcable television (CATV) coaxial cable. As those skilled in the relevantart will understand, a coaxial cable functions as a waveguide over whichRF waves propagate. Accordingly, it is possible for the communicationslink between RF transceiver subscriber antenna 292 d and WAP 290 d to bea coaxial cable. Therefore, a coaxial cable connection is analogous to awireless connection, and is referred to as an alternative form ofwireless connection in the present invention.

In another alternative embodiment, RF communication is accomplished overa satellite connection, such as, e.g., a low earth orbit (LEO) satelliteconnection or a high earth orbit satellite. Taking the example of an LEOsatellite connection, WAP 290 d and RF transceiver subscriber antenna292 d function as satellite gateways, with the additionalfunctionalities described in the present invention.

As would be apparent to those skilled in the art, although the presentinvention has been described in the context of a point-to-multi-pointnetwork, the invention is equally applicable to a point-to-point networkenvironment.

Referring to FIG. 3A, in an embodiment of the invention, WAPs 290 d and290 e can be coupled to a wireless base station 302 where “IP flow”traffic can be queued, analyzed, characterized, classified, prioritizedand scheduled, as described more fully below with reference to theensuing figures.

Referring to FIG. 3B, one embodiment of the invention, antennae 292 dand 292 e are coupled to subscriber customer premise equipment (CPE)stations 294 d and 294 e, respectively (also referred to as CPEs 294 d,294 e). Subscriber CPE stations 294 d and 294 e are coupled to variousother CPE equipment via wireline or wireless connections. For example,CPE stations 290 d and 290 e can be coupled to voice calling parties 124d, 124 e, 126 d and 126 e, fax machines 116 d and 116 e, videoconferencing equipment including video monitors 152 d and 152 e, andcameras 154 d and 154 e, host computers including client computers 120 dand 120 e and servers 122 d and 122 e. Various legacy devices such asPBXs can be coupled to CPEs 294 d and 294 e. In addition, nextgeneration technologies such as Ethernet phones available from Selsius,a subsidiary of CISCO Systems from San Jose, Calif. and other Internetappliances can be coupled via LAN connections to CPEs 294 d and 294 e.Other video conferencing equipment as well as H.323 compliantconferencing equipment can also be coupled to CPEs 294 d and 294 e.

In an embodiment of the invention, either of antennae 292 d and 292 ecan communicate with both WAPs 290 d and 290 e for alternate or backupwireless communications paths.

Returning to FIG. 3A, it depicts an example perspective diagram 300 of aPtMP network of the present invention. Diagram 300 includes a wirelessbase station 302 shown in wireless communication with subscriberlocations 306 a, 306 b, 306 c, 306 d, 306 e, 306 f, 306 g, 306 h, 306 iand 306 j. Specifically, wireless base station 302 communicates viawireless access point 290 d to subscriber antennae 292 a-j of subscriberlocations 306 a-j.

Wireless base station 302 is coupled at interface 320 to network router140 d by, e.g., a wireline connection. Network router 140 d is coupledto data network 142 which includes various other network routers 140 bfor routing traffic to other nodes on data network 142 such as, e.g.,telephony gateway 288 b.

Returning to FIG. 3B, it depicts block diagram. 310 further illustratingthe wireless PtMP of the present invention. Diagram 310 includeswireless base station 302 coupled at interface 320 to data network 142.Also coupled to data network 142 are router 140 d and telephony gateway288 b which is in turn coupled to a class 5 central office (CO) switchat EO 104 b. IP telephony gateway 288 b can terminate telephony trafficto PSTN facilities by, e.g., translating packets into time domainmultiplexed (TDM) standard telephone signals. Wireless base station 302is in communication with wireless CPE 294 d at subscriber location 306 dvia antenna WAP 290 d and 292 d. It would be apparent to those skilledin the art that other configurations of CPE 294 d are possible, such as,e.g., one or more host computers with no telephone devices, one or moretelephones with no host computers, one or more host computers and one ormore telephone devices, and one or more H.323 capable video-conferencingplatforms which could include a host computer with monitor and camera.

CPE 294 d is shown with several telephone devices 124 d and 126 d, e.g.,analog phones, and host computers, client 120 d and server 122 d. Client120 d and server 122 d can be coupled to CPE 294 d via a LAN connectionsuch as, e.g., an Ethernet LAN, or via a legacy V.35 device 322 dproviding a high speed data connection. Other Internet appliancescapable of attachment to a data network can also be coupled to CPE 294d.

2. Networking Protocol Stack Architecture—Wireless IP Network AccessArchitecture (WINAAR)

FIG. 4 depicts the wireless IP network access architecture (WINAAR) 400of the present invention. Architecture 400 illustrates the networkingprotocol stack which is a version of a TCP/IP protocol stack enhanced tosupport IP-centric, QoS over a packet switched, shared bandwidth,wireless PtMP connection. The networking protocol stack will bedescribed in terms of the Open Systems Interconnect (OSI) 7 layernetworking protocol stack standard which includes physical layer (OSIlayer 1) 402, data link layer (OSI layer 2) 404, network layer (OSIlayer 7) 406 and 408, transport layer (OSI layer 4) 410 and applicationslayer (OSI layer 7) 412.

a. Physical Layer

In an example embodiment, physical layer 402 can be implemented usingseveral wireless application specific integrated circuits (wASICs), anoff-the-shelf 16QAM/QPSK 416 ASIC; an Interference Mitigation andMultipath Negation (IMMUNF)/RF 418 algorithm ASIC for minimizing and/oreliminating harmful interference; and a frequency hopping (FH) 419 ASICfor providing dynamic and adaptive multi-channel transmission thatoptimizes data link integrity by changing frequency levels depending onthe noise level of a given frequency. Physical layer 402 can include theradio frequency (RF) signal 415.

b. Data Link Layer

Data link layer 404 lies on top of physical layer 402. Data link layer404 can include a media access control (MAC) layer 414 which is depictedgraphically in diagram 400 as MAC layer portion 414 a and proactivereservation-based intelligent multi-media access (PRIMMA) technologyportions 414 b and 414 c. Arrows 426, 428 and 430, respectively,illustrate that MAC layer 414 can read header information from data andmultimedia applications 425, TCP/UDP 427 and IP 429 layers to analyzeand schedule an IP packet of an “IP flow.” IP packets of the IP flow areidentified by analyzing the header information to determine QoSrequirements of the IP flow, so that the IP flow can be characterized,classified, presented, prioritized and scheduled.

c. Network Layer

1. Internet Protocol (IP)

Network layer 408 is the Internet protocol (IP) 429. As will bediscussed further below and as already discussed above with reference todata network 142, IP is a standard protocol for addressing packets ofinformation. Referring now to FIG. 7, IP header fields 702 can include,e.g., source and destination IP addresses, IP type of service (TOS), IPtime to live (TTL), and protocol fields. IP is a datagram protocol thatis highly resilient to network failures, but does not guarantee sequencedelivery. Routers send error and control messages to other routers usingthe Internet control message protocol (ICMP). ICMP can also provide afunction in which a user can send a “ping” (echo packet) to verifyreachability and round trip delay of an IP-addresse host. Another OSIlayer 3 protocol is address resolution protocol (ARP) which can directlyinterface to the data link layer. ARP maps a physical address, e.g., anEthernet MAC address, to an IP address.

2. Internet Protocol (IP)v4 and IPv6

IP 429 of network layer 408 can be, e.g., an IP version 4 (IPv4) or anIP version 6 (IPv6). IPv6 (sometimes called next-generation internetprotocol or IPng) is a backward-compatible extension of the currentversion of the Internet protocol, IPv4. IPv6 is designed to solveproblems brought on by the success of the Internet (such as running outof address space and router tables). IPv6 also adds needed features,including circuiting security, auto-configuration, and real-timeservices similar to QoS. Increased Internet usage and the allocation ofmany of the available IP addresses has created an urgent need forincreased addressing capacity. IPv4 uses a 32-byte number to form anaddress, which can offer about 4 billion distinct network addresses. Incomparison, IPv6 uses 128-bytes per address, which provides for a muchlarger number of available addresses.

3. Resource Reservation Protocol (RSVP)

IP 429 of network layer 408 can have RSVP enhancement. Developed toenhance IPv4 with QoS features, RSVP is supposed to let network managersallocate bandwidth based on the bandwidth requirements of anapplication. Basically, RSVP is an emerging communications protocol thatis hoped to signal a router to reserve bandwidth for real-timetransmission of data, video, and audio traffic.

Resource reservation protocols.that operate on a per-connection basiscan be used in a network to elevate the priority of a given usertemporarily. RSVP runs end to end to communicate applicationrequirements for special handling. RSVP identifies a session between aclient and a server and asks the routers handling the session to giveits communications a priority in accessing resources. When the sessionis completed, the resources reserved for the session are freed for theuse of others.

RSVP unfortunately offers only two levels of priority in its signalingscheme. Packets are identified at each router hop as either low or highpriority. However, in crowded networks, two-level classification may notbe sufficient. In addition, packets prioritized at one router hop mightbe rejected at the next.

Accepted as an IETF standard in 1997, RSVP does not attempt to governwho should receive bandwidth, and questions remain about what willhappen when several users all demand a large block of bandwidth at thesame time. Currently, the technology outlines a first-come, first-servedresponse to this situation. The IETF has formed a task force to considerthe issue.

Because RSVP provides a special level of service, many people equate QoSwith the protocol. For example, Cisco currently uses RSVP in itsIPv4-based internetwork router operating system to deliver IPv6-type QoSfeatures. However, RSVP is only a small part of the QoS picture becauseit is effective only as far as it is supported within a givenclient/server connection. Although RSVP allows an application to requestlatency and bandwidth, RSVP does not provide for congestion control ornetwork-wide priority with the traffic flow management needed tointegrate QoS across an enterprise. Further, RSVP does not address theparticular challenges related to delivering packets over a wirelessmedium.

The present invention supports RSVP by providing: (1) compatibility withRFC 2205; (2) recognition and support of RSVP messages, including: Pathmessages, Reservation (Resv), Path teardown messages, Resv teardownmessages, Path error messages, Resv error messages, and Confirmationmessages; (3) recognition and support of RSVP objects, including: Null,Session, RSVP_Hop, Time_Values, Style, Flowspec, Sender_Template,Sender_Tspec, Adspec, Error_Spec, Policy_Data, Integrity, and Scope,Resv_Confirm; (4) configurable translation of RSVP Flowspecs for QoSresource allocation in wireless base station 302.

The present invention provides support of DiffServ and RSVP/int-serv byproviding: (1) support of RFC 2474 and 2475; (2) DiffServ in the core ofInternet; (3) RSVP/int-serv for hosts and edge networks; (4) admissioncontrol capability for DiffServ compatibility; (5) differentiatedservices (DSs) (a field marking supported for use by DiffServ, andtranslation into a wireless base station 302 resource allocation); and(6) support for binding of multiple end-to-end sessions to one tunnelsession.

4. Real-time Transport Protocol (RTP) and Real-time Control Protocol(RTCP)

TCP of transport layer 410 can have a RTP and RTCP enhancement.Real-time transport protocol (RTP) is an emerging protocol for theInternet championed by the audio/video transport workgroup of the IETF.Referring to FIG. 7, RTP and RTCP header fields 708 can include severalsub fields of information. RTP supports real-time transmission ofinteractive voice and video over packet-switched networks. RTP is a thinprotocol that provides content identification, packet sequencing, timingreconstruction, loss detection, and security. With RTP, data can bedelivered to one or more destinations, with a limit on delay.

RTP and other Internet real-time protocols, such as the Internet streamprotocol version 2 (ST2), focus on the efficiency of data transport. RTPand other Internet real-time protocols like RTCP are designed forcommunications sessions that are persistent and that exchange largeamounts of data. RTP does not handle resource reservation or QoScontrol. Instead, RTP relies on resource reservation protocols such asRSVP, communicating dynamically to allocate appropriate bandwidth.

RTP adds a time stamp and a header that distinguishes whether an IPpacket is data or voice, allowing prioritization of voice packets, whileRSVP allows networking devices to reserve bandwidth for carryingunbroken multimedia data streams.

Real-time Control Protocol (RTCP) is a companion protocol to RTP thatanalyzes network conditions. RTCP operates in a multi-cast fashion toprovide feedback to RTP data sources as well as all sessionparticipants. RTCP can be adopted to circumvent datagram transport ofvoice-over-IP in private IP networks. With RTCP, software can adjust tochanging network loads by notifying applications of spikes, orvariations, in network transmissions. Using RTCP network feedback,telephony software can switch compression algorithms in response todegraded connections.

5. IP Multi-casting Protocols

IP 429 of network layer 408 can also support multi-casting protocols.Digital voice and video comprise of large quantities of data that, whenbroken up into packets, must be delivered in a timely fashion and in theright order to preserve the qualities of the original content. Protocoldevelopments have been focused on providing efficient ways to sendcontent to multiple recipients, transmission referred to asmulti-casting. Multi-casting involves the broadcasting of a message fromone host to many hosts in a one-to-many relationship. A network devicebroadcasts a message to a select group of other devices such as PCS orworkstations on a LAN, WAN, or the Internet. For example, a router mightsend information about a routing table update to other routers in anetwork.

Several protocols are being implemented for IP multi-casting, includingupgrades to the Internet protocol itself. For example, some of thechanges in the newest version of IP, IPv6, will support different formsof addressing for uni-cast (point-to-point communications), any cast(communications with the closest member of a device group), andmulti-cast. Support for IP multi-casting comes from several protocols,including the Internet group management protocol (IGMP),protocol-independent multi-cast (PIM) and distance vector multi-castrouting protocol (DVMRP). Queuing algorithms can also be used to ensurethat video or other multi-cast data types arrive when they are supposedto without visible or audible distortion.

Real-time transport protocol (RTP) is currently an IETF draft, designedfor end-to-end, real-time delivery of data such as video and voice. RTPworks over the user datagram protocol (UDP), providing no guarantee ofin-time delivery, quality of service (QoS), delivery, or order ofdelivery. RTP works in conjunction with a mixer and translator andsupports encryption and security. The real-time control protocol (RTCP)is a part of the RTP definition that analyzes network conditions. RTCPprovides mandatory monitoring of services and collects information onparticipants. RTP communicates with RSVP dynamically to allocateappropriate bandwidth.

Internet packets typically move on a first-come, first-serve basis. Whenthe network becomes congested, Resource Reservation Protocol (RSVP) canenable certain types of traffic, such as video conferences, to bedelivered before less time-sensitive traffic such as E-mail forpotentially a premium price. RSVP could change the Internet's pricingstructure by offering different QoS at different prices. Using SLAs,different QoS levels can be provided to users at CPE location stationsdepending on SLA subscription level.

The RSVP protocol can be used by a host, on behalf of an application, torequest a specific QoS from the network for particular data streams orflows. Routers can use the RSVP protocol to deliver QoS control requeststo all necessary network nodes to establish and maintain the statenecessary to provide the requested service. RSVP requests can generally,although not necessarily, result in resources being reserved in eachnode along the data path.

RSVP is not itself a routing protocol. RSVP is designed to operate withcurrent and future uni-cast and multi-cast routing protocols. An RSVPprocess consults the local routing database to obtain routes. In themulti-cast case for example, the host sends IGMP messages to join amulti-cast group and then sends RSVP messages to reserve resources alongthe delivery paths of that group. Routing protocols determine wherepackets are forwarded. RSVP is concerned with only the QoS of thosepackets as they are forwarded in accordance with that routing. Thepresent invention delivers QoS-aware wireless PtMP access to users overa shared wireless bandwidth, and can take into account priorityinformation provided within packet headers of packets in IP flowsreceived for transmission over the wireless base station's bandwidth.

d. VPN Networks (Example Optional Protocols) at Network Layer

Also at network layer 406 are depicted example optional virtual privatenetwork (VPN) protocols point to point protocol (PPP) 420 and IPsec 422,discussed below.

A plurality of protocol standards exist today for VPNs. For example, IPsecurity (IPsec), point-to-point tunneling protocol (PPTP), layer 2forwarding protocol (L2F) and layer 2 tunneling protocol (L2TP). TheIETF has proposed a security architecture for the Internet protocol (IP)that can be used for securing Internet-based VPNs. IPsec facilitatessecure private sessions across the Internet between organizationalfirewalls by encrypting traffic as it enters the Internet and decryptingit at the other end, while allowing vendors to use many encryptionalgorithms, key lengths and key escrow techniques. The goal of IPsec isto let companies mix-and-match the best firewall, encryption, and TCP/IPprotocol products.

IPsec is designed to link two LANs together via an encrypted data streamacross the Internet.

1. Point-to-Point Tunneling Protocol (PPTP)

Point-to-point tunneling protocol (PPTP) provides an alternate approachto VPN security than the use of IPsec. Unlike IPsec, which is designedto link two LANs together via an encrypted data stream across theInternet, PPTP allows users to connect to a network of an organizationvia the Internet by a PPTP server or by an ISP that supports PPTP. PPTPwas proposed as a standard to the IETF in early 1996. Firewall vendorsare expected to support PPTP.

PPTP was developed by Microsoft along with 3Com, Ascend and US Roboticsand is currently implemented in WINDOWS NT SERVER 4.0, WINDOWS NTWORKSTATION 4.0, WINDOWS 95 via an upgrade and WINDOWS 98, availablefrom Microsoft Corporation of Redmond, Wash.

The “tunneling” in PPTP refers to encapsulating a message so that themessage can be encrypted and then transmitted over the Internet. PPTP,by creating a tunnel between the server and the client, can tie upprocessing resources.

2. Layer 2 Forwarding (L2F) Protocol

Developed by Cisco, layer 2 forwarding protocol (L2F) resembles PPTP inthat it also encapsulates other protocols inside a TCP/IP packet fortransport across the Internet, or any other TCP/IP network, such as datanetwork 112. Unlike PPTP, L2F requires a special L2F-compliant router(which can require changes to a LAN or WAN infrastructure), runs at alower level of the network protocol stack and does not require TCP/IProuting to function. L2F also provides additional security for usernames and passwords beyond that found in PPTP.

3. Layer 2 Tunneling Protocol (L2TP)

The layer 2 tunneling protocol (L2TP) combines specifications from L2Fwith PPTP. In November 1997, the IETF approved the L2TP standard. Ciscois putting L2TP into its Internet operating system software andMicrosoft is incorporating it into WINDOWS NT 5.0. A key advantage ofL2TP over IPsec, which covers only TCP/IP communications, is that L2TPcan carry multiple protocols. L2TP also offers transmission capabilityover non-IP networks. L2TP however ignores data encryption, an importantsecurity feature for network administrators to employ VPNs withconfidence.

4. IPsec

IP flows using the security encryption features of IPsec 422 aresupported by the present invention. The integration of IPsec 422 flowsof WINAAR architecture 400 are described below in the downlink anduplink directions with reference to FIGS. 17A and 17B, respectively.Wireless base station 302 supports prioritization of IPsec encryptedstreams by placing the firewall at the wireless base station andunencrypting the datastream and packet header information prior toidentification analysis. Through the wireless transmission medium, theframe stream already includes encryption of the frame data andimplements frequency hopping.

IPsec provides for secure data transmission for, e.g., VPNs andeCommerce security. IPsec is compatible with RFC 2401-2407. IPsec issupported with IPv4 and IPv6, and also IPsec tunnel mode. Wireless basestation 302 security protocol support includes authentication header(AH) and encapsulating security payload (ESP). Wireless base station 302supports IPsec authentication (MD5), encryption algorithms, andautomatic key management (IKE and ISAKMP/Oakley). Wireless base station302 provides for a choice of transport mode or tunnel mode andselectable granularity of security service, such as, e.g., providing asingle encrypted tunnel for all traffic between two hosts, or providingseparate encrypted tunnel for each TCP connection between hosts.

e. Transport Layer

1. Transmission Control Protocol/Internet Protocol (TCP/IP) and UserDatagram Protocol/Internet Protocol (UDP/IP)

As already discussed, internet protocol (IP) has become the primarynetworking protocol used today. This success is largely a part of theInternet, which is based on the transmission control protocol/internetprotocol (TCP/IP) family of protocols. TCP/IP is the most common methodof connecting PCs, workstations, and servers. TCP/IP is included as partof many software products, including desktop operating systems (e.g.,Microsoft's Windows 95 or Windows NT) and LAN operating systems.

The most pervasive LAN protocol to date, has been IPX/SPX from Novell'sNetWare network operating system (NOS). However, IPX/SPX is losingground to TCP/IP. Novell now incorporates native IP support intoNetWare, ending NetWare's need to encapsulate IPX packets when carryingthem over TCP/IP connections. Both UNIX and Windows NT servers can useTCP/IP. Banyan's VINES, IBM's OS/2 and other LAN server operatingsystems can also use TCP/IP.

Transport layer four 410 can include transmission control protocol (TCP)or user datagram protocol (UDP) 427 part of the standard TCP/UDP/IPprotocol family suite of networking protocols. As will be discussedfurther below and as already mentioned briefly above with reference todata network 142, TCP is a standard protocol for segmenting traffic intopackets, transmitting, reassembling and retransmitting packets ofinformation between a source and destination IP address. Referring nowto FIG. 7, TCP header fields 706 can include, e.g., source anddestination port numbers, window size, urgent pointer, flags (SYN, ISN,PSH, RST, FIN), and maximum segment size (MSS). Both TCP and UDP providea capability for the TCP/IP host to distinguish among multipleapplications through port numbers. TCP can provide for a reliable,sequenced delivery of data to applications. TCP can also provideadaptive flow control, segmentation, and reassembly, and prioritizationof data flows. UDP only provides unacknowledged datagram capability. Therecently defined real time protocol (RTP), RFC 1889, can provide realtime capabilities in support of multimedia applications, for example.

TCP uses a window-based flow control. Each TCP source has a dynamicallychanging transmit window that determines how many packets it cantransmit during each successive round-trip time (RTT). The TCP sourcecan continue increasing its transmit window if no packets were lostwithin the last RTT. Once congestion is detected, the source TCPthrottles back its transmission, i.e. it “backs-off,” via amultiplicative decrease. An increasing width of the so-called TCP windowversus time corresponds to increasingly longer bursts of packets. TCP'swindow flow-controlled protocol exhibits this effect of increasingthroughput and buffer utilization until terminated by loss, followed bya period of rapid backoff.

TCP works over IP to provide end-to-end reliable transmission of dataacross data network 142. TCP controls the amount of unacknowledged datain transit by dynamically reducing either window size or segment size.The reverse is also true in that increased window or segment size valuesachieve higher throughput if all intervening network elements have lowerror rates, support the larger packets, and have sufficient bufferingto support larger window sizes.

f. Application Layer

Applications layer seven 412 can include applications 426 such as, e.g.,over TCP, hypertext transport protocol (HTTP), file transfer protocol(FTP), TELNET remote terminal login, and simple simple mail transferprotocol (SMTP); and over UDP, simple network management protocol(SNMP), RPC, NFS, and TFTP. Other applications can also run over thenetwork stack such as, e.g., a world wide web browser such as NETSCAPENAVIGATOR available from AOL of Reston, Va., a spreadsheet applicationprogram such as LOTUS 123 available from IBM of Armonk, N.Y. or a videoteleconferencing program such as MS NetMeeting available from MICROSOFTof Redmond, Wash. Packets transmitted from such applications couldrequire special handling and prioritization to achieve an appropriateend-user QoS.

3. PRIMMA-system IP Flow Prioritization

a. Scheduling of Mixed IP Flows

FIG. 6 illustrates block diagram 600 representing scheduling of mixed IPflows. Block diagram 600 shows the scheduling of wireless base station302. The functionality of block diagram 600 includes PRIMMA managementof Internet, VPN, and realtime IP flows. Referring back to FIG. 3A,wireless IP flows are coming from data network 142 via network router140 d to interface 320 of wireless base station 302. IP flows are thenscheduled for transmission from wireless base station 302 via antenna290 d through subscriber location 306 d via antenna 292 d.

Referring back to block diagram 600 of FIG. 6, illustrated therein arethe downlink and uplink flows between interface 320 and wireless basestation antenna 290 d. An IP flow, as described herein, refers to aseries of related packets of data transmitted from a source to adestination post computer. IP flow 630 from data network 142 (overinterface 320) comprises Internet IP flows 608, VPN IP flows 610, andrealtime IP flows 612. IP flow 630 is in the downlink direction.

Downlink IP flow analyzer 602 (hereinafter downlink flow analyzer 602)analyzes Internet IP flow 608, VPN IP flow 610 and realtime IP flow 612.IP flow analyzer 602 is described further below with reference to FIGS.8A and 15A. IP flow analyzer 602 receives packets and analyzes packetheader fields to identify new or existing IP flows. IP flow analyzer 602can also characterize QoS requirements for the IP flow depending onpacket header field contents. IP flow analyzer 602 can classify the IPflow and associate a given packet with other packets from an existing IPflow and can group together IP flows with similar QoS requirements. IPflow analyzer 602 can also present the IP flows to a flow scheduler.

Downlink PRIMMA MAC IP flow scheduler 604 (hereinafter downlink flowscheduler 604) schedules received IP flows 608, 610, and 612 fortransmission in the downlink direction. Downlink flow scheduler 604 canprioritize the different classes of IP flows. For example, scheduler 604can reserve slots in downlink frames for latency sensitive IP flows; forFTP type IP flows 608, scheduler 604 can allocate large amounts ofbandwidth for file transfer; and for e-mail type IP flows 608, a lowerpriority can be given to packets. In prioritizing allocation of wirelessbandwidth frame slots, downlink flow scheduler 604 can take into accountthe fact that an IP flow 630 is a VPN IP flow 610 from a virtual privatenetwork (VPN), such as, e.g., a remote branch office tieing into acorporate network. All traffic from a VPN can be given a higher priorityor specific types of VPN traffic can request particular service levels.Downlink flow scheduler 604 can prioritize realtime IP flows 612 suchthat their arrival at CPEs 294 at CPE subscriber locations 306 willoccur as required.

Downlink PRIMMA MAC segmentation and resequencing (SAR) and framer 606(hereinafter downlink SAR and framer 606) segments and frames the datapackets of received IP flows into frames for transmission over thewireless medium to CPEs 294 at CPE subscriber locations 306. For exampleIP flow 616, 624 can be transmitted to CPE 294 d at CPE subscriberlocation 306 d, via base station antenna 290 d over a wireless medium tosubscriber antenna 292 d and CPE 294 d at CPE subscriber location 306 d.In the present invention, the term wireless medium is used to broadlyencompass not only propagation of RF transmissions over cellularcommunications, but also RF transmissions over satellite communicationsand cable (e.g., coaxial cable) communications.

In the uplink direction, IP flow 626 from CPE 294 d at CPE subscriberstation 306 d is received at wireless base station antenna 290 d. IPflow 626 can include Internet IP flow 618, VPN IP flow 620 and realtimeIP flow 622. Uplink IP flow analyzer 632 (hereinafter uplink flowanalyzer 632) analyzes Internet IP flow 618, VPN IP flow 620 andrealtime IP flow 622. Uplink flow analyzer 632 is described furtherbelow with reference to FIGS. 8B and 15B. In one embodiment, thefunctionality of IP flow analyzer 632 occurs at the CPE 294 d atsubscriber CPE location 306 d and sends a request to transmit data up towireless base station 302, including information about an IP flow forwhich CPE 294 d would like to schedule an uplink slot.

Uplink PRIMMA MAC IP flow scheduler 634 (hereinafter uplink flowscheduler 634) can schedule the requested IP flow. In one embodiment,the functionality of scheduler 634 can be performed at CPE 294 d atsubscriber CPE location 306 d. In another embodiment, the functionalityof scheduler 634 can be performed at the wireless base station 302. Anadvantage of placing uplink flow scheduler 634 at the wireless basestation is that this provides efficiencies particularly in apoint-to-multi-point architecture. It is more efficient to have onecentralized scheduler at the base station 302 rather than to placemultiple uplink flow schedulers 634 at CPEs 294 of subscriber CPElocations 306.

Uplink PRIMMA MAC segmentation and resequencing (SAR) and framer 636(hereinafter SAR and framer 636) can segment and frame the data packetsof IP flows into frames for transmission over the wireless medium fromCPE 294 at CPE subscriber locations 306 to wireless base station 302 forfurther transmission over data network 142. IP flow 626 from CPE 294 dat CPE subscriber location 306 d can be transmitted to base stationantenna 290 d over a wireless medium such as, e.g., RF communication,cable modem and satellite communication, from subscriber antenna 292 dcoupled to CPE 294 d at CPE subscriber location 306 d.

b. Summary of Downlink and Uplink Subframe Prioritization

Block diagram 800 of FIG. 8A summarizes an exemplary downlink analysis,prioritization and scheduling function. Similarly, block-diagram 830 ofFIG. 8B summarizes an exemplary uplink analysis prioritization andscheduling function. Block diagram 800 and 830 are more detailed viewsof the function of block diagram 600 of FIG. 6.

Beginning with block diagram 800 (of FIG. 8A), it depicts how IP flowprioritization and scheduling of a shared wireless bandwidth isperformed in the downlink path, from data network 142—to router 140 d—tointerface 320—to wireless base station 302—WAP 290 d—over a wirelessmedium—to wireless transceiver subscriber antenna 292 d—to subscriberCPE station 294 d at subscriber CPE location 306 d.

IP flow analyzer 602 performs the function of identifying,characterizing, classifying, and presenting data packets to a downlinkframe scheduler. The functions of identifying, characterizing,classifying and presenting the data packets are described with respectto FIG. 15A.

During identification, it is determined whether a data packet of anincoming IP data flow is known to the system, i.e. is an “existing IPflow”, or rather is the first data packet of a new IP data flow, basedon fields in a packet header section. Identification can also include,e.g., determining the source of the packet in order to extrapolate thetype of information in the packet payload.

During characterization, a new data packet (of a new IP data flow)previously unknown to the system is characterized based on the packetheader information to determine the QoS requirements for the IP dataflow, and to identify the subscriber CPE station that will receive theIP data flow.

During classification, the new IP data flow is classified into acommunications priority class. Classification can also include groupingtogether packets from different IP flows having similar characteristicsinto a single class. Example class groupings of IP flows 630 areillustrated as IP classes 810 a-810 g.

During presentation, the new IP data flow is initialized and presentedto a downlink flow scheduler 604.

Downlink flow scheduler places the data packets of an IP data flow intoa class queue based on class queue priorities, and using a set of rules,schedules the data packets for transmission over a wireless medium to asubscriber CPE station 294 at subscriber CPE location 306 with anadvanced reservation algorithm. The rules are determined by inputs tothe downlink flow scheduler based on, e.g., a hierarchical class-basedprioritization, a virtual private network (VPN) directory enabled datapriority (such as, for example, directory enabled networking (DEN)), anda service level agreement priority. The advanced reservation algorithmfor use in scheduling, e.g., isochronous traffic, is described withrespect to FIG. 14 below.

SAR and framer 606 breaks up, sequences, and frames the data packets forwireless transmission from WAP 290 d over the wireless medium to awireless transceiver subscriber antenna 292. Illustrated in blockdiagram 800 are a number of subscriber applications 820 a-820 e runningon devices such as, e.g., subscriber workstation 120 d (not shown),connected to subscriber CPE stations 294 a-e (not shown) located atsubscriber CPE locations 306 a-306 e. Each subscriber CPE location 306can house one or more subscriber CPE stations 294, and each subscriberCPE station 294 can receive and transmit one or more IP data flows toand from one or more subscriber workstations 120. In fact, eachapplication connected to a single CPE station can receive or transmitmultiple IP data flows.

Referring to subscriber CPE location 306 a of FIG. 8A, a CPE SAR andframer 814 a resequences the received data and transmits it through CPEflow scheduler 816 a, and CPE IP flow analyzer 818 a, to subscriberapplication 820 a. CPE IP flow schedulers 816 a-816 e can perform thesame function as downlink flow scheduler 604 for uplink traffic.Similarly, CPE IP flow analyzers 818 a-818 e perform the same functionas downlink flow analyzer 602.

In an embodiment of the invention, in downlink mode, CPE IP flowschedulers 816 a-816 e and CPE IP flow analyzers 818 a-818 e perform nofunction.

Block diagram 800 illustrates the logical functions performed on thedownlink path, not necessarily the physical locations of thesefunctions.

The functions of subscriber applications 820 a-820 e, and CPE SAR andframers 814 a-814 e can be performed in the actual subscriber CPEstations 294 connected over a wireless connection to wireless basestation 302.

Block diagram 800 lists an exemplary set of priorities 812 used bydownlink flow scheduler 604 to place received data packets into priorityclass queues. Listed are the following set of example priorities:latency-sensitive UDP priority 812 a, high priority 812 b, intermediatepriority 812 c, initial hypertext transfer protocol (HTTP) screenspriority 812 d, latency-neutral priority 812 e, file transfer protocol(FTP), simple mail transfer protocol (SMTP) and other e-mail it trafficpriority 812 f and low priority 812 g. Persons skilled in the art willrecognize that many different priority classes are possible, dependingupon the QoS requirements of the end-users. Latency-sensitive UDPpriority data can refer to data that has the highest priority because itis sensitive to jitter (i.e., time synchronization is important) andlatency (i.e., the amount of time passage between IP data flows inreverse directions). High priority 812 b can refer to, e.g., premium VPNservice, and a high priority SLA service. Intermediate priority 812 ccan refer to, e.g., a value VPN service level and an intermediate levelSLA service. HTTP screens priority 812 d can refer to the download ofHTTP data, for example, an initial HTTP screen, which is important formaking an Internet user feel as if he has a great deal of bandwidthavailable for his Internet session. Latency-neutral priority 812 e canrefer to data that is neutral to latency, such as, e.g., e-mail traffic.FTP, SMTP priority 812 f data includes data that is insensitive tolatency and jitter, but requires a large amount of bandwidth to bedownloaded accurately because of the size of a transmission. Finally,low priority data 812 g can refer to data that can be transmitted over along period of time, as when one network device transmits its statusinformation to another network device on a 24 hour basis.

Block diagram 830 (of FIG. 8B) depicts how IP flow analysis,prioritization and scheduling of the shared wireless bandwidth isperformed in the uplink path, from subscriber CPE station 294 d—towireless transceiver subscriber antenna 292 d—over the wirelessmedium—to WAP 290 d—to wireless base station 302—to interface 320—torouter 140 d—to data network 140.

Block diagram 830 includes uplink flow analyzer 632, uplink flowscheduler 634 and uplink SAR and framer 636. These components aresimilar in function to downlink flow analyzer 602, downlink flowscheduler 604 and downlink SAR and framer 606, but instead analyze,schedule and sequence and frame data packets being transmitted fromsubscriber workstations 120 of subscriber CPE stations 294 (atsubscriber CPE locations 306 a-306 e) over the wireless medium, andtransmit the data packets to interface 320 for transmission to datanetwork 142.

Illustrated in FIG. 8B are subscriber applications 820 a-820 e, whichare the same applications shown in FIG. 8A. Also shown therein are CPEIP flow analyzers 819 a-819 e, CPE IP flow schedulers 817 a-817 e, andCPE SAR and framers 815 a-815e. These components function analogously tosubscriber applications 820 a-820 e, CPE IP flow analyzers 818 a-818 e,CPE IP flow schedulers 816 a-816 e, and CPE SAR and framers 814 a-814 e.However, these components function to analyze, schedule and transmit IPflows in the uplink path, from subscriber CPE stations (at subscriberCPE locations 306 a-306 e) to wireless base station 302 for routing todestination host workstations 136 (not shown).

As noted, multiple applications can be connected to one or moresubscriber CPE stations at subscriber CPE locations 306 a-306 e. Toprevent collisions between multiple applications contending for a fixednumber of bandwidth allocations for uplink communication, in oneembodiment of the present invention a reservation scheduling system isused. The bandwidth allocations for data packets are called frame slots,and are described below with respect to FIGS. 12A-12Q, 14, 16A and 16B.

Block diagram 830 illustrates the logical functions performed on theuplink path, not necessarily the physical locations of these functions.

For example, in one embodiment, the analysis function of IP flowanalyzer 632 which identifies a packet for uplink, characterizes andclassifies the packet, can occur in a preferred embodiment in CPE IPflow analyzers 819 a-819 e at the CPE subscriber stations 294 a-294 e(not shown) at subscriber locations 306 a-306 e.

Also, one embodiment, the functions of CPE IP flow schedulers 817 a-817f for scheduling uplinks subframe slots can be performed in wirelessbase station 302 for each of the subscriber CPE stations 294 connectedover the wireless connection to wireless base station 302.

In this embodiment, the scheduling function is performed at uplink flowscheduler 634 at wireless base station 302 based on classificationinformation provided to the wireless base station 302 through an uplinkIP flow reservation request from the CPE station. By placing allscheduling function at the wireless base station 302, overall systemquality of service can be optimized by centralizing the control ofscheduling.

In another embodiment, however, their respective functions can beperformed in the actual subscriber CPE stations.

In the reservation scheduling function of this embodiment, eachsubscriber CPE station requests the reservation of frame slots for itsuplink transmissions using a reservation request block (RRB) of the TDMAairframe, described further below with reference to FIGS. 12A-12O,before it is permitted to communicate in the uplink path with interface320. After the reservation request, uplink flow scheduler 634 transmits,as indicated by line 640, to the requesting subscriber CPE station 294 adescription of one or more slots which the CPE station 294 can use totransmit its uplink data packets from source subscriber workstations120, over the wireless medium, which are directed toward destinationhost workstations 136, over data network 142.

c. Service Level Requests

FIG. 9 illustrates how PRIMMA MAC IP flow scheduler 604 can also takeinto account a Service Level Agreement in prioritizing frame slotscheduling and resource allocation. FIG. 9 depicts SLA-mediated IP flowmanagement diagram 900 including prioritization of uplink traffic beingtransmitted to wireless base station 302 from CPE subscriber locations306 a, 306 b, 306 c and 306 d. For example, suppose subscribers oftelecommunications services have subscribed to one of four SLA levels,P1 902 a, P2 904 a, P3 906 a and P4 908 a. In the illustrated example,suppose IP flows 902 b are being sent to a subscriber at CPE location306 a and have an SLA priority level of P1 902 a. Similarly, IP flows904 b, 906 b and 908 b are being sent to subscribers at CPE locations306 b, 306 c and 306 d and have SLA priority levels of P2 904 a, 906 aand 908 a, respectively. PRIMMA MAC scheduler 604, 634 of wireless basestation 302 can take into account SLA-based priorities in allocatingavailable bandwidth to the subscriber CPE IP flows 902 b, 904 b, 906 band 908 b. In the example illustration, IP flow 902 b can be allocatedframe slot 902 c based on SLA priority 902 a. Frame slots 904 c, 906 cand 908 c can be similarly scheduled taking into account SLA priorities.Uplinked IP flow traffic can then be transmitted on to data network 142.

SLA-based prioritization can provide a valuable means for atelecommunications provider to provide differentiated services to avariety of customers. For example, it is possible that low prioritytraffic from a subscriber who has purchased a premium SLA serviceagreement, can be scheduled at a higher priority than high prioritytraffic from a subscriber which has only signed up for a value level orlow cost SLA service priority.

d. Identification of Headers

FIG. 7 illustrates packet header field information 700 which can be usedto identify IP flows and the QoS requirements of the IP flows.Specifically, IP header fields 702 can include, e.g., source anddestination IP addresses, helpful in providing application awarepreferential resource allocation; IP type of service (TOS), a usefulfield for assisting PRIMMA MAC in classifying a packet or IP flow; IPtime to live (TTL), a useful field for anticipating application packetdiscards; and protocol fields which can be used in identifying IP flows.

Packet header information 700 also includes UDP header fields 704.Included in UDP packet header fields 704 are source and destination portnumbers.

Packet header information 700 also includes TCP header fields 706.Included in TCP packet header fields 706 are source and destination portnumbers; TCP sliding window size; urgent pointer; SYN, ISN, PSH, RST andFIN flags; and maximum segment size (MSS).

Packet header information 700 also includes realtime protocol RTP andRTCP header fields 708.

It would be apparent to those skilled in the art that other packetheader fields could be useful in identifying an IP flow. The fields havebeen given by way of example and are not intended to be an exhaustivelist of useful packet header fields. Other fields, such as, e.g., fieldsfrom IP v6 relating to differentiated services (DIFF SERV) could also beuseful to IP flow analyzer 602 and 632 of wireless base station 302.

e. TDMA MAC Air Frame

FIGS. 12A-12O illustrate an exemplary time domain multiple access (TDMA)media access control (MAC) transmission air frame. The fields describedherein merely refer to one embodiment for the present invention, and arenot limiting to the numerous implementations of the present invention.

FIG. 12A illustrates an entire TDMA MAC transmission air frame. Airframe 1202 includes downstream transmission subframe 1202 and upstreamtransmission subframe 1204.

The TDMA MAC air frame of FIG. 12A includes upstream acknowledgmentblock (UAB) 1206, acknowledgment request block (ARB) 1208, framedescriptor block (FDB) 1210, data slot (DS)₁ 1212 a, DS₂ 1212 b, DS₃1212 c, DS₄ 1212 d, DS₅ 1212 e, DS₆ 1212 f, DS₇ 1212 g, DS₈ 1212 h, DS₉1212 i, DS₁₀ 1212 j, DS₁₁ 1212 k, DS_(m) 1212 l, downstreamacknowledgment block (DAB) 1214, reservation request block (RRB) 1216,UA₁ 1218 a, UA₂ 1218 b, UA₃ 1218 c, UA₄ 1218U, UA₅ 1218 e, UA₆ 1218 f,UA₇ 1218 g, UA₈ 1218 h, UA₉ 1218 i, UA₁₀ 1218 j, UA₁₁ 12 ₈ k, UA₁₂ 1218l, and UA_(n) 1218 m.

In the embodiment described herein, the type of TDMA used is TDMA/timedivision duplex (TDMA/TDD). In TDMA/TDD, for one interval of time,transmission is from a CPE station 294 to a wireless base station 302,and in another instance of time, it is from a wireless base station 302to a CPE station 194. Any number of slots can be used for the uplink orfor the downlink. The number of slots is dynamically assigned for boththe uplink and the downlink. However, because the downlink data rate isusually higher than the uplink data rate, more slots are assigned to thedownlink. Although distribution of slots between the downlink and uplinkis dinamically assigned, the total number of slots for a frame is fixedin this embodiment.

TABLE 5 MAC Air Block/ Frame Slots SubFrame Name Description 0 1-8 DAB/Downstream Acknowledgments from subscribers CPE Upstream AcknowledgmentRequest stations to wireless base station of receipt Block of downstreamslots in previous downstream subframe 0 1-8 RRB/ Reservation RequestRequests from subscriber CPE stations for Upstream Block transmissionreservations in later frames with dynamically adjustable number ofcontention slots 0 up to 16 US₁-US₁₆/ Upstream Slot Data slots in theupstream subframe, Upstream Transmissions which is a variable number perframe (up to 16 in one embodiment) 0 1-3 ODB/ Operations Data Block OA &MP data from subscribers sequenced Upstream by a subscriber CPE stationper frame 0 0 UAB/ Upstream Acknowledgments from wireless baseDownstream Acknowledgment Block station to subscriber CPE stations ofreceipt of upstream slots in a previous subframe 0 0 ARB/ AcknowledgmentRequest Acknowledgments of subscriber CPE Downstream Block requests ofhaving received reservation requests in a previous subframe 0 0 FD/Frame Descriptor Block Describes the contents of the downstreamDownstream for current frame transmission subframe 0 up to 16 DS₁-DS₁₆/Downstream Slot Data slots in the downstream subframe, DownstreamTransmissions which is variable per frame (up to 16 in one embodiment) 00 CCB/ Command and Control OA & MP commands sequenced by DownstreamBlock subscribers per frame and frame synchronization

FIG. 12B is a symbolic illustration of an exemplary TDMA/TDD air frame1220 of the present invention. TDMA/TDD air frame structure 1220 depictsa frame of frame size 1228, which can be, e.g., 16 slots or 32 slots. Itwould be apparent to those skilled in the art that frame structures 1220having other numbers of slots could be used without departing from thespirit and scope of the invention. Frame structure 1220 includes, e.g.,various TDMA slots 1222 a, 1222 b, 1222 c and 1222 d. Within each TDMAslot 1222 a-c, can be included a data slot 1224 a, 1224 b, 1224 c and1224 d which in turn can contain a control packet 1226 a, or a datapacket 1226 b-d, respectively.

In the present embodiment the sum of all TDMA slots 1222 within a frameof frame size 1228 is fixed. However, as noted, using the resourceallocation methodologies of the present invention it is possible todynamically allocate a subset of the entire number of TDMA slots 1222 toan uplink direction, where all the uplink TDMA slots are knowncollectively as an uplink subframe or an upstream transmission subframe1204, and to dynamically allocate a subset of the entire number of TDMAslots 1222 to a downlink direction, where all the downlink TDMA slotsare known collectively as a downlink subframe or an downlinktransmission subframe 1202. Using the resource allocation method of thepresent invention, it is possible to allocate all TDMA slots 1222 to agiven upstream or downstream direction. It is further possible toallocate all data slots 1224 to a single CPE station. The wireless basestation 302 has a state machine, and knows the state of each CPE station294 having a connection therewith (i.e., having an IP flow recognized bythe wireless base station 294).

Downstream transmission subframe 1202 and upstream transmission subframe1204 are described in detail below.

1. Downstream Transmission Subframe

FIG. 12C depicts an exemplary downstream transmission subframe 1202. Thedownstream transmission subframe of FIG. 12C includes transmitterturnaround time 1230, UAB 1206, ARB 1208, FDB 1210, a variable number ofDSs per frame (e.g., 16) 1212, and command and control block (CCB) 1232.The DS transmissions 1212 include DS₁ 1212 a, DS₂ 1212 b, DS₃ 1212 c,DS₄ 1212 d, DS₅ 1212 e, DS₆ 1212 f, DS₇ 1212 g, DS₈ 1212 h, DS₉ 1212 i,DS₁₀ 1212 j, DS₁₁ 1212 k, and DS_(m) 1212 l.

FIG. 12D depicts an exemplary UAB 1206 of a downstream transmissionsubframe 1202. The downstream transmission subframe of FIG. 12D includesUAB 1206, ARB 1208, FDB 1210, DS₁ 1212 a, DS₂ 1212 b, DS₃ 1212 c, DS₄1212 d, DS₅ 1212 e, DS₆ 1212 f, DS₇ 1212 g, DS_(n) 1212 h, DS₉ 1212 i,DS₁₀ 1212 j, DS₁₁ 1212 k, DS_(m) 1212 l, and CCB 1232.

UAB 1206 includes subslots UAB₁ 1206 a, UAB₂ 1206 b, UAB₃ 1206 c, UAB₄1206 d, UAB₅ 1206 e, UAB₆ 1206 f, UAB₇ 1206 g, and UAB_(n) 1206 h.UAB_(n) 1206 a includes a preamble 1234 a, subscriber ID 1234 b, IP-flowidentifier 1234 c, slot sequence number 1234 d, and cyclical redundancycheck (CRC) 1234 e.

The UAB field is an acknowledgment by a wireless base station 302 to aCPE station 294 that the slots (e.g., US₁-US₁₆) of an upstreamtransmission subframe have been received. The reader is referred to thediscussion of the upstream transmission subframe below.

In subslot UAB₁ 1206 a of ARB 1206: preamble 1234 a includes data usedfor link integrity purposes; subscriber ID 1234 b identifies which CPEstation 294 is making the reservation request; IP-flow identifier 1234 cidentifies the IP data flow; quality of service data class 1234 aidentifies the priority class of the IP data flow, if known to the CPEstation 294; IP-flow priority and type 1234 b is an indicator of a newIP data flow; and CRC 1234 e, which stands for cyclic redundancy code,provides error checking bits for subslot RRB₁ 1216 a.

FIG. 12E depicts an exemplary ARB 1208 of a downstream transmissionsubframe 1202. The downstream transmission subframe of FIG. 12E includesUAB 1206, ARB 1208, FDB 1210, DS₁ 1212 a, DS₂ 1212 b, DS₃ 1212 c, DS₄1212 d, DS₅ 1212 e, DS₆ 1212 f, DS₇ 1212 g, DS_(n) 1212 h, DS₉ 1212 i,DS₁₀ 1212 j, DS₁₁ 1212 k, DS_(m) 1212 l, and CCB 1232.

ARB 1208 includes subslots ARB₁ 1208 a, ARB₂ 1208 b, ARB₃ 1208 c, ARB₄1208 d, ARB₅ 1208 e, ARB₆ 1208 f, ARB₇ 1208 g, and ARB₈ 1208 h. ARB_(n)1208 a includes a preamble 1234 a, subscriber ID 1234 b, IP-flowidentifier 1234 c, slot sequence number 1234 d, and CRC 1234 e.

The ARB field is an acknowledgment by a wireless base station 302 to aCPE station 294 that the wireless base station 302 has received anupstream reservation request from the CPE station 294. The reader isreferred to the discussion of the upstream transmission subframe below.

In subslot ARB₁ 1208 a of ARB 1208: preamble 1234 a includes data usedfor link integrity purposes; subscriber ID 1234 b identifies which CPEstation 294 is making the reservation request; IP-flow identifier 1234 cidentifies the IP data flow; quality of service data class 1234 aidentifies the priority class of the IP data flow, if known to the CPEstation 294; IP-flow priority and type 1234 b is an indicator of a newIP data flow; and CRC 1234 e, which stands for cyclic redundancy code,provides error checking bits for subslot RRB₁ 1216 a.

FIG. 12F depicts an exemplary FDB 1210 of a downstream transmissionsubframe 1202. The downstream transmission subframe of FIG. 12F includesUAB 1206, ARB 1208, FDB 1210, DS₁ 1212 a, DS₂ 1212 b, DS₃ 1212 c, DS₄1212 d, DS₅ 1212 e, DS₆ 1212 f, DS₇ 1212 g, DS_(n) 1212 h, DS₉ 1212 i,DS₁₀ 1212 j, DS₁₁ 1212 k, DS_(m) 1212 l, and CCB 1232.

The FDB includes detailed information pertaining to the slots (e.g.,DS₂-DS₁₆) of the downstream transmission subframe.

FDB 1210 includes a preamble subslot 1236 a, number of downstream slotssubslot, 1236 b, IP-flow ID for upstream reservation 1 subslot 1236 c,IP-flow ID for upstream reservation 2 subslot 1236 d, IP-flow ID forupstream reservation n subslot 1236 e, and contention slot count fornext upstream subframe subslot 1236 f.

In FDB 1210, the fields are defined as follows: preamble subslot 1236 aincludes data used for link integrity purposes; number of downstreamslots subslot 1236 b includes the number of downstream slots (DSs),IP-flow ID for downstream reservation subslot 1236 c includes an IP flowidentification for DS₁; IP-flow ID for downstream reservation subslot1236 d includes a second IP flow identification for DS₂; IP-flow ID fordownstream reservation n subslot 1236 e includes another IP flowidentification for DS_(m); contention slot count for next upstreamsubframe subslot 1236 f provides a count for the next available upstreamsubframe.

FIG. 12G depicts an exemplary downstream MAC payload data unit (PDU).The downstream MAC PDU includes information regarding the actualstructure of the payload. The downstream MAC PDU of FIG. 12G includesMAC linked list sequence number 1238 a (the sequence number of the MAClinked list), reservation request index number 1238 b (an index to thedownstream IP flow), compressed IP-flow identifier 1238 c, compressedIP-flow priority and type 1238 d (identifying the priority and type of acompressed IP flow), slot payload 1238 e (the amount of data in adownstream data slot), and CRC 1234 e (error checking information).

FIG. 12H depicts an exemplary CCB of a downstream transmission subframe1202. The CCB comprises OAM&P commands sequenced by subscriber CPEstation 294 per frame and frame synchronization. CCB 1232 includes amode command subslot 1240 a (includes options of what mode the CPEstation is to take), profile command subslot 1240 b (includes specificsystem commands, such as a patch for a module), control data indexsubslot 1240 c (including download locations and memory requirements orother information needed by the CPE stations to download data),datablock 1 subslot 1240 d (includes specific system data), datablock 2subslot 1240 e (same), datablock n subslot 1240 f (same), and CRCsubslot 1234 e (error checking information).

2. Upstream Transmission Subframe

FIG. 12I depicts an exemplary upstream transmission subframe 1204. Theupstream transmission subframe of FIG. 12I includes transmitterturnaround time 1230, DAB 1214, RRB 1216, a variable number of USs perframe, e.g., 16, 1218, and operations data block (ODB) 1242, consistingof OAM&P data from subscribers, sequenced by subscriber per frame. TheUS transmissions 1218 include US₁ 1218 a, US₂ 1218 b, US₃ 1218 c, US₄1218 d, US₅ 1218 e, US₆ 1218 f, US₇ 1218 g, US₈ 1218 h, US₉ 1218 i, US₁₀1218 j, US₁₁ 1218 k, US₁₂ 1218 l, and US_(n) 12128 m.

FIG. 12K depicts an exemplary RRB 1216 of an upstream transmissionsubframe 1204. The upstream transmission subframe of FIG. 12K also showsDAB 1214, RRB 1216, US₁ 1218 a, US₂ 1218 b, US₃ 1218 c, US₄ 1218 d, US₅1218 e, US₆ 1218 f, US₇ 1218 g, US₈ 1218 h, US₉ 1218 i, US₁₀ 1218 j,US₁₁ 1218 k, US₁₂ 1218 l, US_(n) 1218 m, and ODB 1242.

RRB 1216 includes subslots RRB₁ 1216 a, RRB₂ 1216 b, RRB₃ 1216 c, RRB₄1216 d, RRB₅ 1216 e, RRB₆ 1216 f, RRB₇ 1216 g, and RRB_(n) 1216 h. RRB₁1216 a includes a preamble 1234 a, subscriber ID 1234 b, IP-flowidentifier 1234 c, quality of service data class 1244 a, IP-flowpriority and type 1244 b, and CRC 1234 e.

A CPE station 294 uses one of the subslots (RRB₁ 1216 a, RRB₂ 1216 b,RRB₃ 1216 c, RRB₄ 1216 d, RRB₅ 1216 e, RRB₆ 1216 f, RRB₇ 1216 g, andRRB_(n) 1216 h) of RRB 1216 to make a reservation request, which is arequest by the CPE station 294 for bandwidth in a future uplinktransmission subframe. If two CPE stations 294 d, 294 e attempt toaccess the same subslot in RRB 1216, which can occur because theirpseudorandom number generators select the same subslot, then a“collision” occurs and the data is not readable by wireless base station302. The two CPE stations 294 d, 294 e are required to try again.

Reservation request slots can be provided on an IP flow basis. Ratherthan allocate a reservation request slot to every CPE subscriberstation, a default number (e.g., 5) are made available as contentionslots. If collisions are detected by a greater number of requestingsubscribers than the number of reservation request slots, then the slotsallocated can be dynamically varied to provide additional RRB slots.(Collisions are analogous to CSMA/CD collisions in Ethernet, wherecolliding devices on an Ethernet network attempt to retransmit over thebus architecture by retrying at a random time.)

The radio contention method of the present invention builds upon aspectsof the “Slotted Aloha” method developed by L. Roberts in 1972, as arefinement of the “Aloha” method developed by N. Abramson in the early1970's, and so-called bit-mapped reservation protocols.

Like the Slotted Aloha method, the present invention provides fordiscrete slots for transmission of data, rather than allowing thetransmission of data at any point. However, instead of transmitting theactual “payload” of data, the present invention advantageously transmitsonly a “reservation request” describing the actual data payloadcontents. Also, the number of slots for reservation requests canadvantageously be dynamically altered according to the frequency ofdetected collisions in the recent past.

Unlike various Carrier Sense Multiple Access (CSMA) techniquespreviously used in-wireless, both persistent and non-persistent, thepresent method advantageously does not require that subscriber CPEstation 294 d “sense” the carrier (the radio channel) beforetransmission.

Instead, a subscriber CPE station 294 d selects a “subslot” to transmitthrough a pseudo-random number selection, without a prior carrier sense.If a collision is detected, the subscriber CPE station 294 d will tryagain in the next frame using the pseudo-random number process.

Instead of using a bit-map protocol for the resolution of contention, asis used in some reservation protocols, the wireless base station canexplicitly grant reservation requests. The standard bit-map protocol canrequire that all stations can receive signals from all other stations sothat the subsequent order of transmission can be implicitly determinedfrom the resulting bit-map pattern. The present method advantageouslydoes not require the receipt of reservation request signals from otherCPE subscriber stations 294 d. This is advantageous because, at higherfrequencies (such as, e.g., 2 GHz to 30 GHz) where there may beline-of-sight and distance constraints, the requirement for receipt ofthe transmissions of other CPE subscriber stations 294 d could undulyconstrain the topology, locations and distances of CPE subscriberstations.

Advantageously, by allowing the wireless base station 302 to explicitlygrant the requested reservation, other factors such as relative ordynamic CPE subscriber station 294 d (or IP-flow) priority factors canbe considered. Therefore, the present invention's reservation protocolwith a dynamically adjustable number of contention subslots and explicitwireless base station reservation grants, allows a more optimal means ofproviding for the allocation of wireless, such as, e.g., radio,bandwidth in response to QoS requirements of IP-flows than any priormethod.

As noted, RRB, 1216 a includes the following fields: a preamble 1234 a,subscriber ID 1234 b, IP-flow identifier 1234 c, quality of service dataclass 1244 a, IP-flow priority and type 1244 b, and CRC 1234 e. Insubslot RRB₁ 1216 a of RRB 1216: preamble 1234 a includes data used forlink integrity purposes; subscriber ID 1234 b identifies which CPEstation 294 is making the reservation request; IP-flow identifier 1234 cidentifies the IP data flow;quality of service data class 1234 aidentifies the priority class of the IP data flow, if known to the CPEstation 294; IP-flow priority and type 1234 b is an indicator of a newIP data flow; and CRC 1234 e, which stands for cyclic redundancy code,provides error checking bits for subslot RRB, 1216 a. Optionally, anadditional field can be provided in subslot RRB, 1216 a which includesthe number of data packets CPE station 294 will transmit in its IP dataflow.

FIG. 12J depicts an exemplary DAB 1214 of an upstream transmissionsubframe 1204, where a CPE acknowledges receipt of a slot from base. TheDAB is an acknowledgment from a subscriber CPE station 294 to thewireless base station that downstream slots have been received in aprevious subframe.

The DAB 1214 includes subslots DAB₁ 1214 a, DAB₂ 1214 b, DAB₃ 1214 c,DAB₄ 1214 d, DAB₅ 1214 e, DAB₆ 1214 f, DAB₇ 1214 g, and DAB₈ 1214 h.Subslot DAB₁ 1214 a includes a preamble 1234 a, subscriber ID 1234 b,IP-flow identifier 1234 c, slot sequence number 1234 d, and CRC 1234 e.(These fields have the same information as described with respect to theRRB.)

FIG. 12L depicts an exemplary MAC PDU upstream slot. The MAC PDUupstream slot of FIG. 12L includes a CPE linked-list sequence number1246, reservation request index number 1236 b, compressed IP-flowidentifier 1238 c, compressed IP-flow priority and type 1238 d, slotpayload 1238 e, and CRC 1234 e. The upstream MAC PDU is similar to thedownstream MAC PDU, but is used instead for upstream subframe payloadinformation.

FIGS. 12M, 12N and 12O depict an exemplary ODB 1242 in detail. Thisfield is used to store information regarding the connection between thewireless base station 302 and the CPE station 294. ODB 1242 includespreamble 1234 a (including link integrity data), subscriber ID 1234 b(identifies which CPE station 294 is making the reservation request),system state 1248 a (information about the status of the CPE station294), performance data 1248 b (how full the buffer statistics, cpeprocessor performance statistics, system state), antenna data 1248 c(information pertaining to the antenna), CRC 1234 e (error checkinginformation) and synchronization pattern 1248 d (error checkinginformation).

Referring to FIG. 12M, system state subslot 1248 a comprises system mode1250 a (the mode of the CPE station, e.g., command mode, operationsmode, or initialization mode of the system), system status 1250 b (thestatus of the CPE station), system resources 1250 a (the mode of the CPEstation), system power 1250 b (the mode of the CPE station), systemtemperature 1250 a (the temperature of the CPE station). The CPEstations 294 are required to take turns using ODB 1242 to transmit theirinformation.

Referring to FIG. 12N, performance data 1248 a comprises the number ofcomrepeats 1252 a (the number of repeats of communication attempts),number of frameslips 1252 b (the number of frames that have slipped),waitstate index 1252 c (an index to the waiting state).

f. Exemplary Class-based Frame Prioritization

FIG. 13 shows block diagram 1300, illustrating how an exemplary flowscheduler for the present invention functions to schedule products.Block diagram 1300 includes: flow scheduler 604, 634 (which is acombination of downlink flow scheduler 604 and uplink flow scheduler634), downlink transmission subframe 1202 (i.e., the next MAC downstreamsubframe), uplink transmission subframe 1204 (i.e., the current MACupstream subframe). Block diagram 1300 also includes the followingdownstream components: downstream reservation first-in-first-out queue1322, class 1 downstream queue 1302, class 2 downstream queue 1304, andclass 3 downstream queue 1306. Block diagram 1300 also includes thefollowing upstream reservation components: current upstream subframe1344 (with the current upstream subframe 1204 about to be stored in it),previous upstream subframes 1346, 1348, 1350, class 1 upstreamreservation request queue 1308, class 2 upstream reservation requestqueue 1310, and class 3 upstream reservation request queue 1312.

In the downlink path, an IP flow QoS class queuing processor (describedbelow with respect to FIGS. 15A and 15B) queues the received datapackets into class 1 packet flow queues 1324, 1326 and 1328, class 2packet flow queues 1330, 1332, 1334, and class 3 packet flow queues1336, 1338, 1340 and 1342.

Based on inputs from a hierarchical class-based priority processor, avirtual private network (VPN) directory enabled (DEN) data table and aservice level agreement (SLA) priority data table (described below withrespect to. FIGS. 15A and 15B), the class 1, class 2, and class 3 packetflow queues are respectively assigned to class 1 downstream queue 1302,class 2 downstream queue 1304, and class 3 downstream queue 1306. Flowscheduler 604, 634 schedules these downlink data packets onto thedownlink transmission subframe 1202.

In one embodiment, additional processing is used to minimize latency andjitter. For example, suppose the data packets of class 1 packet flowqueue 1324 require jitter-free and latency-free delivery, i.e., deliveryof packets must be at constant time intervals and in real-time. Packetflow queue 1324 creates, e.g., 4 equal time spaced slot reservations infuture frames, as shown in class 1 downstream queue 1302 and describedwith respect to FIG. 14 below. The reservations are fed to downstreamreservation first-in-first-out queue 1322, and are scheduled onto afuture downstream frame 1202 by flow scheduler 604, 634.

In the uplink path, reservation requests for future upstream slotsarrive at wireless base station 302 as part of the current upstreamsubframe 1204 received from CPE subscriber stations 294 over thewireless medium. Current upstream subframe 1344 can temporarily storereservation requests for analysis and scheduling of uplink packets inaccord with the description of FIG. 8B above. Previous upstreamsubframes 1346, 1348, 1350 include upstream reservation requestsawaiting upstream frame slot allocations in future upstream subframes1204. Reservation request blocks (RRBs), described further above withreference to FIG. 12***, include a request for a number of slots for asingle IP flow with an IP flow identifier # and class of the flow. Theupstream reservation requests (by IP flow and class) are queued ontoclass 1 upstream reservation request queue 1308, class 2 upstreamreservation request queue 1310, and class 3 upstream reservation requestqueue 1312 by an IP flow QoS class queuing processor (described belowwith respect to FIGS. 16A and 16B). Flow scheduler 604 and 1566, and 634and 1666, uses these downstream reservations and upstream reservationrequests to assign slots to data packets in the next downstreamtransmission subframe 1202 and upstream transmission subframe 1204,respectively.

FIG. 14 is an exemplary two-dimensional block diagram 1400 of theadvanced reservation algorithm. FIG. 14 includes MAC subframe scheduler1566, 1666, frames current frame, n 1402, and future frames, n+1 1404,n+2 1406, n+3 1408, n+4 1410, n+5 1412, n+6 1414 . . . n+x 1416,representing frames of data packets to be transmitted at times n, n+1,n+2 . . . n+x. Each frame is divided into a variable length downlinksubframe 1202 and a variable length uplink subframe 1204. The lengths ofdownlink subframe 1202 and uplink subframe 1204 together comprise thelength of an entire frame.

Each frame n 1402 includes a number of slots (1418-1478). Slots1418-1446 comprise the downlink subframe 1202, and slots 1448-1478comprise the uplink subframe 1204. In one embodiment, the slots arefixed in length, with each slot capable of storing a single data packet.The total number of frame slots in a frame remains constant. Forexample, if a given frame includes 64 frame slots, the slots can beallocated dynamically in either the uplink or downlink directions, suchas, e.g., 32 up and 32 down, 64 up and 0 down, 0 up and 64 down. Blockdiagram 1400 can be thought of as a two dimensional matrix with eachslot having a time value (i.e., a slot-to-slot time interval), e.g.,0.01 ms, and each frame having a total frame interval time value (i.e.,a frame-to-frame time interval), e.g., 0.5 ms.

In the present invention, an advanced reservation algorithm assignsfuture slots to data packets based on the priority of the IP data flowwith which the packet is associated. Exemplary priorities are describedabove with respect to FIGS. 8A and 8B. For calls that are sensitive tojitter, meaning calls that are time sensitive, it is important tomaintain an isochronous (i.e., in phase with respect to time)connection. With such signals, it is important that the data bedispersed in the same slot between frames, or in slots having a periodicvariation between frames. For example, vertical reservation 1480 shows ajitter sensitive signal receiving the same slot for downlinkcommunications in each frame. Specifically, the signal is assigned slot1422 in frames 1402-1416. If the frame-to-frame interval is 0.5 ms, thena slot will be provided to the IP flow every 0.5 ms. As another example,diagonal reservation 1482 shows a jitter sensitive signal receiving aslot varying by a period of one between sequential frames. Specifically,the signal is assigned slot 1440 in frame 1402, slot 1438 in slot 1404,. . . slot 1426 in frame 1416, to create a “diagonal.” If theframe-to-frame interval is 0.5 ms and the slot-to-slot interval is 0.01ms, then a slot can be provided to the IP flow every 0.5 minus 0.01,equals 0.49 mms. Thus, to decrease the frame interval, a diagonalreservation of positive slope can be used. To obtain an increased frameinterval, a diagonal of negative slope such as, e.g., negative slopediagonal uplink reservation 1486. The diagonal reservation 1482 can alsobe more pronounced (i.e., using a greater or lesser slope), depending onthe period between sequential frames desired.

Reservation patterns 1480, 1482, 1484 and 1486 are useful patterns forjitter sensitive communications. Also illustrated is a verticalreservation 1486, similar to vertical reservation 1480, useful for ajitter sensitive communication in the uplink direction.

For latency sensitivity, one or more slots can be guaranteed in eachframe. For example, for a call that is latency sensitive, but not jittersensitive, each frame can be assigned one (or more) slots forcommunications. However, the slot(s) need not be periodic betweenframes, as with jitter sensitive calls. The greater the number of slotsallocated per frame to an IP flow, the greater total bandwidth per framerate for the IP flow.

For calls that are less latency sensitive, fewer slots per frame can beassigned for the communication. For example, a communication that isless latency sensitive can receive a guaranteed bandwidth of one slotevery four frames. A call that is even less latency sensitive canreceive, e.g., a single slot every ten frames.

Using these principles, the advanced reservation algorithm can assignthe slots from highest priority to lowest priority, exhausting thenumber of available slots in future frames. IP data flows that are bothjitter and latency sensitive can be assigned slots with periodicpatterns first (e.g., patterns 1480, 1482, 1484 and 1486), followed byflows that are highly latency sensitive (but not jitter sensitive), etcetera, until the flows of lowest latency sensitivity are assigned toslots. Prioritization of different classes of IP flows by scheduler 604,634, 1566, 1666 is described further below with reference to FIGS. 15A,15B, 16A and 16B.

g. Downlink Subframe Prioritization

1. Overview

FIGS. 15A and 15B are exemplary logical flow diagrams for analysis andscheduling of the shared wireless bandwidth for the downlink direction.The logical flow pertains to IP packet flows arriving from data network140, at the wireless base station 302, for transmission down to asubscriber CPE station 294 d over the wireless medium. FIG. 15A is anexemplary logical flow diagram 1500 for downlink IP analyzer 602. FIG.15B is an exemplary logical flow diagram 1560 for the downlink flowscheduler 604.

The functional components for FIGS. 15A and 15B are explained by way ofmethod modules, which can be viewed as physical units (e.g., comprisingsoftware, hardware, or a combination thereof) or logical vehicles (e.g.,used for explanatory purposes only). Those skilled in the art willrecognize that the modules are used only to explain an exemplaryembodiment, and are not to be considered limiting.

The exemplary logical flow diagram 1500 for downlink IP flow analyzer ofFIG. 15A includes packet header identification component 1502, packetcharacterization component 1504, packet classification component 1506,and IP flow presentation component 1508. The functions of thesecomponents are explained in detail below.

In one embodiment, downlink IP flow analyzer 602 is physically locatedin wireless base station 302, although those skilled in the art willrecognize that the same functionality can be located remotely fromwireless base station 302.

FIGS. 2D, 3A and 3B are helpful to the reader for an understanding ofthe downlink IP flow analyzer.

2. Introduction

IP flow analyzer 602 performs the function of identifying,characterizing, classifying, and presenting data packets to a downlinkframe scheduler 604. The functions of identifying, characterizing,classifying and presenting the data packets are respectively performedby packet header identification component 1502, packet characterizationcomponent 1504, packet classification component 1506 and IP flowpresentation component 1508 of downlink IP flow analyzer 602.

Packet header identification component 1502 determines whether a datapacket of an incoming IP data flow is part of an IP flow that is knownto the system, or is the first data packet of a new IP data flow, basedon the contents of fields of the packet header section. Packet headeridentification component 1502 also identifies, e.g., the source of thepacket using the packet header field contents. Packet characterizationcomponent 1504 characterizes a new data packet (of a new IP data flow)to determine the QoS requirements for the IP data flow, and identifiesthe subscriber CPE station associated with the subscriber workstationthat will receive the IP data flow. Packet classification component 1506classifies the new IP data flow into a communications priority class,grouping the packet together with similar type IP flows. IP data flowpresentation 1508 initializes the new IP data flow and presents it todownlink flow scheduler 604.

Downlink flow scheduler 604 places the data packets of an IP data flowinto a class queue, and based on a set of rules, schedules the datapackets for transmission over the wireless medium to a subscriber CPEstation using, e.g., an advanced reservation algorithm. The rules can bedetermined by inputs to the downlink flow scheduler from a hierarchicalclass-based priority processor module 1574, a virtual private network(VPN) directory enabled (DEN) data table 1572, and a service levelagreement (SLA) priority data table 1570. The advanced reservationalgorithm is described further above with respect to FIG. 14.

3. Identification

Packet header identification component 1502 identifies the IP flowreceived from data network 142 at data interface 320 based on the packetheader.

An IP flow packet stream from data network 142, including packets fromvarious IP flows (where each IP flow is associated with a single data“call”) is received at packet header identification component 1502. AnIP flow can include packetized data including any type of digitalinformation such as, e.g., packetized voice, video, audio, data, IPflows, VPN flows, and real time flows. The IP flow is transmitted overdata network 142 from, e.g., a host workstation 136 d and arrives atinterface 302 of wireless base station 320. Interface 302 transmits thepackets of the IP flow to packet header identification component 1502.At module 1510, the received packets are buffered into a storage area.At module 1520, the contents of the packet header fields are extractedand parsed.

For IP flows known to the system, so-called “existing IP flows,” thereare entries in a table 1526. An IP flow is in the system if there is anexisting characterized IP data call. In module 1522, it is determined ifthere is a match between the incoming packet and an existing IP flowcall in an entry in existing IP flow identification table 1526. If so,then the IP flow is known to the system, and control passes to module1530 of the packet characterization component 1504.

If not, meaning that the IP flow is a new IP data flow, then controlpasses to module 1524, where the packet header fields are analyzed.Module 1524 analyzes the packet header source field and determines fromsource application packet header data table 1528 the type of sourceapplication making the data call or transmitting the IP packet. Theapplication can be any of the applications described with respect toFIG. 2D or known to those skilled in the art. Examples include a filetransfer protocol (FTP) download from another client workstation 138 f,an IP voice telephony call (over telephony gateway 288 b), a voicetelephony call from a caller 124 d (connected over a modem), an e-mailfrom a LAN 128 a attached host workstation 136 a, a fax machine call,and a conference call from multiple callers 124 d and 126 d (connectedover a modem), to name a few. If the IP flow is not known to the system,then the IP flow is given an IP flow identifier number, and controlpasses to module 1526 where the IP flow identifier number is added tothe existing IP flow identification table 1526.

Once the type source application has been determined by packet headerinformation or by another means, such as direct applicationidentification, then control passes from module 1524 to module 1532 ofthe packet characterization component 1504. In order to identify thetype of source application of the IP flow, any type of service (TOS) ordifferentiated service (DiffServ) field can also be analyzed.

4. Characterization

Packet characterization component 1504 characterizes new IP flows andpasses them to packet classification component 1506 for classification.

For an existing IP flow, control passes to module 1530 from module 1522of the packet header identification component 1502. If in module 1522 itis determined that the IP data flow is known to the system, in module1530 it is determined whether the packet is old (i.e., stale). This caninclude, e.g., determining from a time-to-live field (a field in the IPpacket header) the age of the packet, and comparing the field to athreshold age value. If the packet is determined to be stale, it can bediscarded. Based on the age of the packet, client application discardscan be anticipated. Otherwise, control can pass to module 1540 of thepacket classification component 1506.

For a new IP flow, control passes to module 1532 from module 1524 of thepacket header identification component 1502. If in module 1524 it isdetermined that the IP flow is not known to the system, in module 1532the QoS requirements for the application are determined using the sourceapplication information identified in modules 1524 and 1528. Module 1532performs this operation by looking up the QoS requirements for theidentified source application in the QoS requirement table 1534.Different applications have different QoS requirements in order toprovide an acceptable end-user experience. For example, bandwidthallocation (i.e., allocating an appropriate amount of bandwidth) isimportant to an application performing FTP file transfer downloads, andnot jitter (i.e., time synchronizing the received data) and latency(i.e., the amount of time passage between responses). On the other hand,jitter and latency are important to voice telephony and conferencecalls, while bandwidth allocation is not.

After processing by module 1532, in module 1536 a destination CPEsubscriber station ID lookup from subscriber CPE IP address table 1538,is performed for the IP flow. Each subscriber CPE station 294 d can haveone or more applications, running on one or more subscriber workstations120 d, homed to it. Accordingly, the IP flows can be directed to one ormore applications on one or more subscriber workstations of one or moreCPE stations 294 d. A subscriber workstation can be any device coupledto a subscriber CPE station 294 d. Module 1536 looks up the IP flow intable 1538, to determine the identity of the subscriber CPE station 294d that will receive the packets of the new IP flow from data network142. Control then passes from module 1536 to module 1542 of the packetclassification component 1506.

5. Classification

Packet classification component 1506 classifies the IP flow and passesit to IP flow presentation component 1508 for presentment.

For an existing IP flow, control passes to module 1540 from module 1530of the packet characterization component 1504. If in module 1530 it isdetermined that the packet is not stale, then in module 1540 the packetis associated with its existing IP flow. As illustrated in FIG. 15A, thepacket processed herein was determined to be a portion of an IP flowknown to the system. Therefore, the QoS processing of modules 1532, 1536and 1542 are unnecessary, because the QoS requirements of the presentpacket are assumed to be the same as for its IP flow. In anotherembodiment, all packets are characterized and classified. From module1540, control can continue with module 1546 of IP flow presentation1508.

For the new IP flow, control passes to module 1542 from module 1536 ofthe packet characterization component 1504. In module 1542 the packet isclassified into a QoS class by performing a table lookup into IP flowQoS class table module 1544, where the types of QoS classes are storeddepending on the QoS requirements for packets. Similar IP flows, (i.e.,IP flows having similar QoS requirements) can be grouped together inmodule 1542. In classifying packets and IP flows, QoS class groupings,any DiffServ priority markings, and any TOS priority markings can betaken into account. From the module 1542, control passes to module 1548of IP flow presentation component 1508.

6. IP Flow Presentation

IP flow presentation component 1508 prepares and presents the IP flowpackets to downlink flow scheduler 604.

For existing IP flows, control passes to module 1546 from module 1540 ofthe packet classification component 1540. In module 1546 the packet isadded to the associated existing IP flow queue, which is the queue forthe current IP flow. From module 1546, control passes to IP flow QoSclass queuing processor module 1562 of downlink flow scheduler 604.

For the new IP flow, control passes to module 1548 from module 1542 ofthe packet classification component 1506. In module 1548, this new IPflow can be initialized for presentation to module 1552. In module 1550,the IP flow QoS class is presented to frame scheduler 604 to be placedin an appropriate class queue. Module 1552 presents the IP flow (inparticular, the data packet) and IP flow identifier to IP flow QoS classqueuing processor module 1562 of downlink flow scheduler 604.

7. Downlink Flow Scheduler

The exemplary logical flow diagram 1560 for the downlink flow scheduler604 of FIG. 15B comprises IP flow QoS class queuing processor module1562, MAC downlink subframe scheduler module 1566, hierarchicalclass-based priority processor module 1574, VPN DEN data table module1572, SLA priority data table 1570, CPE IP flow queue depth statusprocessor 1582 and link layer acknowledgment processor module 1578.

Downlink flow scheduler 604 of FIG. 15B also includes QoS class queuesas follows: class 1, 1564 a; class 2, 1564 b; class 3, 1564 c; class 4,1564 d; class 5, 1564 e; and class 6, 1564 f; and MAC downlinksubframes: frame n, 1568 a; frame n+1, 1568 b; frame n+2, 1568 c; framen+3, 1568 d; . . . frame n+p, 1568 k.

In one embodiment, downlink flow scheduler 604 is physically located inwireless base station 302, although those skilled in the art willrecognize that the same functionality can be located remotely fromwireless base station 302.

Downlink flow scheduler 604 is used to schedule the downlink subframe.An entire frame can be divided into an uplink portion (called an uplinksubframe) for transmitting uplink frames, and a downlink portion (calleda downlink subframe) for transmitting downlink frames.

Also illustrated on FIG. 15B are WAP antenna, the wireless medium, 290d, RF transceiver subscriber antenna 292 d, subscriber CPE station 294 dand subscriber workstation 120 d. WAP antenna 290 d and RF transceiversubscriber antenna 292 d respectively provide a wireless connectionbetween wireless base station 302 (where downlink flow scheduler 604resides in one embodiment) and subscriber CPE station 294 d, which cantransmit an IP flow to an application running on subscriber workstation120 d. WAP antenna 290 d serves as a wireless gateway for data network142, and RF transceiver subscriber antenna serves as a wireless gatewayfor subscriber CPE station 294 d. The connection is also illustrated inFIGS. 2D and 3B. IP flow QoS class queuing processor module 1562receives the packets from IP flow presentation component 1508. Module1562 then creates class queues 1564 a-1564 f, which is a variable numberof queues, and places the packets in these class queues. How packets areplaced in class queues 1564 a-1564 f is determined by the inputs tomodule 1562.

Module 1562 can receive inputs from hierarchical class-based priorityprocessor module 1574, VPN DEN data table 1572 and service levelagreement (SLA) priority data table 1570. The queuing function of module1562 can be based on these inputs.

SLA priority data table 1570 can use predetermined service levelagreements for particular customers to affect the queuing function. Acustomer can be provided a higher quality of telecommunications serviceby, for example, paying additional money to receive such premiumservice. An algorithm running on module 1562 can increase the queuingpriority for messages transmitted to such customers.

Virtual private network (VPN) directory enabled networking (DEN) datatable 1572 can provide prioritization for a predetermined quality ofservice for a VPN for a company that pays for the VPN function. A VPN isunderstood by those skilled in the relevant art to be a private network,including a guaranteed allocation of bandwidth on the network, providedby the telecommunications service provider. VPN DEN data table 1572permits module 1562 to provide higher quality of service forcustomer-purchased VPNs. As with SLA priority data table 1570, thequeuing priority can be increased for such VPNs. For example, a platinumlevel VPN's lowest priority IP flow classes could also be given a higherpriority than a high priority brass level VPN.

Both SLA priority data table 1570 and VPN DEN data table 1572 receiveinput from operations, administration, maintenance and provisioning(OAM&P) module 1108. This is a module that is kept off-line, andincludes storage and revision of administrative information regardingnew customers, or updates of information pertaining to existingcustomers. For example, the SLA priority of the customers and VPNinformation is updated from OAM&P module 1108.

Hierarchical class-based priority processor module 1574 is a module thatoperates under the principles of hierarchical class-based queuing.Hierarchical class-based queuing was created by Sally Floyd and VanJacobson, considered early architects of the Internet.

Hierarchical class-based queuing classifies different types of IP flowsusing a tree structure at the edge access device routers. Each branch ofthe tree signifies a different class of IP flows, and each class isdedicated a set limited amount of bandwidth. In this manner, differentclasses of flows are guaranteed minimum bandwidth, so that no single IPdata flow within a class, and no single class of IP flows, can use upall available bandwidth. The present invention adds a prioritizationfeature enabling class based priority reservations to be made using thehierarchical class queue concept, as discussed above with respect toFIGS. 13 and 14.

MAC downlink subframe scheduler 1566 is a processor module that takesthe packets queued in class queues 1564 a-1564 f, and can make frameslot reservations to fill up subframes 1568 a-1568 k based on priorities1570, 1572 and 1574, which is a variable number of frames. In oneembodiment, each subframe is scheduled (filled) with up to apredetermined number of packets from each of the classes 1564 a-1564 faccording to priorities 1570, 1572 and 1574. In another embodiment, thesubframes are scheduled according to the inventive advanced reservationalgorithm method described with respect to FIGS. 13 and 14 forisochronous reservations. In yet another embodiment, the subframes arescheduled according to a combination of known methods and the advancedreservation algorithm method of the present invention.

The subframes can then be sent to WAP antenna 290 d for wirelesstransmission over the wireless medium to RF transceiver subscriberantenna 292 d coupled to subscriber CPE station 294 d, which in turn cansend the packets contained in the subframes to subscriber workstation120 d at CPE subscriber location 306 d. The subframes can be scheduledfrom highest priority to lowest priority.

Hierarchical class-based priority (HCBP) processor module 1574 receivesas input the subframes that have been scheduled and transmitted from WAPantenna 290 d. By maintaining awareness of the status of the packets(i.e., by knowing which packets have been sent out), HCBP processormodule 1574 knows which packets from which class queues 1564 a-1564 fmust yet be scheduled.

Every once in a while, a packet is lost through, e.g., noise. When thissituation arises, the subscriber CPE station 294 d sends a retransmitrequest 1576 to WAP 290 d, which transmits the request to link layeracknowledgment (ARQ) processor 1578. ARQ processor 1578 informs MACdownlink subframe scheduler 1566 of this condition, which in turnreschedules the requested packets from the appropriate class queues 1564a-1564 f for retransmission. Link layer acknowledgment ARQ processor1578 also awaits positive acknowledgments from subscriber CPE station294 d, to determine that the data packets have been properly received.Only after receiving a positive receipt acknowledgment does MAC downlinksubframe scheduler 1566 remove the packet from class queues 1564 a-1564f.

Each subscriber CPE station 294 d has a limited amount of memoryavailable for received data packets in an IP flow. When, for example,the devices coupled to the subscriber CPE station 294 d (e.g.,subscriber workstation 120 d) stop receiving IP data flows (e.g.,subscriber workstation 120 d goes down), the CPE data packet queues inCPE subscriber station 294 d are quickly filled up. In this scenario,subscriber CPE station 294 d transmits a CPE IP flow queue depth message1580 indicating that the queue is filled up, which can be received byCPE IP flow queue depth status processor 1582. CPE queue depth processor1582 informs MAC downlink subframe scheduler 1566 of this condition,which stops scheduling downlink subframes directed to subscriber CPEstation 294 d. Processor 1582 can also send messages to MAC downlinksubframe scheduler 1566 to flush particular IP flows from class queues1564 a-1564 f.

h. Uplink Subframe Prioritization

1. Overview

FIGS. 16A and 16B are exemplary logical flow diagrams for the uplink.The logical flow pertains to analysis and scheduling of shared wirelessbandwidth to IP packet flows from a subscriber workstation 120 d coupledto a subscriber CPE station 294 d, being transmitted over the wirelessmedium up to the wireless base station 302, and on to data network 142for transmission to a destination host workstation 136 a. FIG. 16A is anexemplary logical flow diagram 1600 for uplink IP flow analyzer 632.FIG. 16B is an exemplary logical flow diagram 1660 for the uplink flowscheduler 634.

The functional components for FIGS. 16A and 16B are explained by way ofmethod modules, which can be viewed as physical units (e.g., comprisingsoftware, hardware, or a combination thereof) or logical vehicles (e.g.,used for explanatory purposes only). Those skilled in the art willrecognize that the modules are used only to explain an exemplaryembodiment, and are not to be considered limiting.

The exemplary logical flow diagram 1600 for uplink IP flow analyzer 632of FIG. 16A includes packet header identification component 1602, packetcharacterization component 1604, packet classification component 1606,and IP flow presentation component 1608. The functions of thesecomponents are explained in detail below.

In one embodiment, uplink IP flow analyzer 632 is physically located inwireless base station 302, although those skilled in the art willrecognize that the same functionality can be located remotely fromwireless base station 302. In a preferred embodiment of the presentinvention, the function of IP flow analyzer 632 is performed at asubscriber CPE station 294 d desiring an uplink reservation slot foruplinking a packet/IP flow up to base station 302. A reservation requestblock (RRB) request detailing the IP flow identifier, number of packetsand classification of the IP flow can be created then by IP flowanalyzer 632 and can be uplinked via preferably a contention RRB slotfor scheduling by uplink frame scheduler 634 in future uplink subframeslots up at wireless base station 302.

FIGS. 2D, 3A and 3B are helpful to the reader for an understanding ofthe uplink IP flow analyzer.

2. Introduction

IP flow analyzer 632 performs the function of identifying,characterizing, classifying, and presenting data packets to an uplinkframe scheduler 634. The functions of identifying, characterizing,classifying and presenting the data packets can be respectivelyperformed by packet header identification component 1602, packetcharacterization component 1604, packet classification component 1606and IP flow presentation component 1608 of uplink IP flow analyzer 632.

Packet header identification component 1602 determines whether a packetof an incoming IP flow is known to the system (i.e. is an existing IPflow), or if it is the first data packet of a new IP data flow, anddetermines the source application based on fields in the header sectionof the packet. Identification 1602 can include buffering packets andextracting and parsing the header contents. Packet characterizationcomponent 1604 characterizes a new data packet (of a new IP flow) todetermine the QoS requirements for the IP flow based on the sourceapplication, and to identify the subscriber CPE station that willreceive the IP flow. Packet classification component 1606 classifies thenew IP data flow into one of several priority classes. Classification1606 can include, e.g., grouping packets having similar QoSrequirements. IP data flow presentation 1608 initializes the new IP dataflow and presents it to uplink flow scheduler 634.

Each time a subscriber CPE station 294 d attempts to communicate in theuplink direction with wireless base station 302, it requests areservation by inserting an RRB in the uplink subframe. Uplink framescheduler 634 then schedules the reservation request in a future uplinksubframe and notifies the CPE station 294 d of the reservation. In adownlink signal, uplink flow scheduler 634 located preferably atwireless base station 302, transmits a reservation slot in a particularfuture frame for the requesting subscriber CPE station 294 d to transmitits uplink data. Uplink flow scheduler 634 assigns the reservation basedon the same parameters as the downlink flow scheduler 604 uses in thedownlink. In other words, uplink flow scheduler 634 determines thereservation slots based on the queue class priority and based on a setof rules, schedules the reservations for uplink transmissions fromsubscriber CPE station 294 d using, e.g., an advanced reservationalgorithm. The rules are determined by inputs to the uplink flowscheduler 634 from a hierarchical class-based priority processor module1674, a virtual private network (VPN) directory enabled (DEN) data table1672, and a service level agreement (SLA) priority data table 1670. Theadvanced reservation algorithm is described with respect to FIG. 14.

3. Identification

Packet header identification component 1602 identifies the IP flowreceived from a subscriber CPE station 294 d based on the packet'sheader contents.

A stream of packets, also known as packets from several IP flows (i.e.each IP flow is associated with a single “call”) is received at packetheader identification component 1602. The IP flow in one embodiment istransmitted to subscriber CPE station 294 d from one or more subscriberworkstations 120 d for uplink to host computers 136 a coupled towireless base station 302 by data network 142. Subscriber CPE station294 d can transmit the data packets of the IP flow to packet buffermodule 1610 of packet header identification component 1602. In oneembodiment, packet header identification component is within CPEsubscriber station 294 d. At module 1610, the received packets arebuffered in a storage area for transfer to header extraction module1620. At module 1620, the packet header files are extracted and parsedto obtain the contents of the packet header fields.

Relevant fields can include, e.g., source, destination, type of service(TOS) and differentiated service (DiffServ) markings, if any exist.

For IP flows known to the system, there are entries in existing IP flowidentification table 1626. An IP flow is in the system if a previouspacket of the IP flow of the existing IP data call has already beenidentified. In module 1622, it is determined if there is a match betweenthe incoming IP flow and an entry in table 1626. If so, then the IP flowis known to the system, and control passes to module 1630 of the packetcharacterization component 1604.

If the IP flow is not an existing flow known to the system, meaning thatthe IP flow is a new IP flow, then control passes to module 1624, wherethe packet header fields are analyzed to identify the source applicationof the IP flow.

Packet header analysis module 1624 determines from source applicationpacket header table 1628 the type of source application making the IPflow. The application can be any of the types of applications describedwith respect to FIG. 2D or known to those skilled in the art. Examplesinclude a file transfer protocol (FTP) download from another clientworkstation 138 f, a voice telephony call from a caller 124 d (connectedover a modem), a fax machine call, and a conference call from multiplecallers 124 d and 126 d (connected over a modem), to name a few. If theIP flow is a new IP flow, then the identification information about thenew IP flow is added to table 1626, and control passes from analysismodule 1624 to module 1632 of the packet characterization component1604.

4. Characterization

Packet characterization component 1604 characterizes the IP flow andpasses it to packet classification component 1606 for classification.

If the IP flow is an existing IP flow, control passes to module 1630from module 1622 of the packet header identification component 1602. Ifin module 1622 it is determined that the IP data flow is known to thesystem, in module 1630 it is determined whether the packet is old (i.e.,stale). This can include determining from a time-to-live field (a fieldin the IP packet header) the age of the packet, and comparing the fieldto a threshold age value. If the packet is determined to be stale, it isdiscarded. Module 1630 can anticipate application packet discards. Frommodule 1630, control passes to module 1640 of the packet classificationcomponent 1606.

If the IP flow is new, control passes to module 1632 from module 1624 ofthe packet header identification component 1602. If in module 1624 it isdetermined that the application associated with the IP flow applicationis not known to the system, in IP flow QoS requirements lookup module1632 the QoS requirements for the application associated with the IPflow are determined. Module 1632 performs this operation by looking upthe application in IP flow QoS requirement table 1634. Differentapplications have different requirements. For example, bandwidthallocation (i.e., allocating an appropriate amount of bandwidth) isimportant to an application performing FTP downloads, and not jitter(i.e., time synchronizing the received data) and latency (i.e., theamount of time passage between responses). On the other hand, jitter andlatency are important to voice telephony and conference calls, andbandwidth allocation is not.

After processing by module 1632, control passes to module 163 b. In CPEsubscriber station identifier (ID) lookup module 1636 a subscriber CPEID lookup is performed for the new IP data flow. Each subscriber CPEstation 294 d can have one or more applications, running on one or moresubscriber workstations 120 d, homed to it. Accordingly, one or manysubscribers can generate or receive an IP flow directed from or at asubscriber CPE station 294 d. A subscriber workstation 120 d can be anydevice coupled to a subscriber CPE station 294 d. Module 1636 looks upthe CPE station identifier for the IP flow in table 1638, to provide theCPE ID in the reservation request block (RRB). Control then passes frommodule 1636 to module 1648 of the packet classification component 1606.

5. Classification

Packet classification component 1606 classifies the IP flow and passesit to IP flow presentation component 1608 for presentment.

For existing IP flows, control passes to module 1640 from module 1630 ofthe packet characterization component 1604. If in module 1630 it isdetermined that the packet is not stale, then in module 1640 the packetis associated with its IP flow. As illustrated in FIG. 16A, the packetprocessed herein was determined to be a portion of an IP flow known tothe system. Therefore, the QoS processing of modules 1632, 1636 and 1642are unnecessary, because the QoS requirements of the present packet arethe same as for its IP flow.

For new IP flows, control passes to module 1642 from module 1636 of thepacket characterization component 1604. In module 1642 the packet isclassified or grouped into a QoS class by performing an IP flow QoSrequirement table 1644 lookup where the QoS classes are stored dependingon the QoS requirements for packets. From module 1642, control passes tomodule 1648 of IP flow presentation component 1608.

6. IP Flow Presentation

IP flow presentation component 1608 prepares and presents the IP dataflow packets to flow scheduler 634. In one embodiment of the uplinkdirection, a reservation request block (RRB) is created and uplinked viaa contention slot to the wireless base station 302 for scheduling by IPflow scheduler 634. In another embodiment, the scheduler is located atthe CPE station 294 d so no reservation request is needed.

For existing IP flows, control passes to module 1646 from module 1640 ofthe packet classification component 1640. In module 1646, the packet isadded to the IP flow queue, which is the queue for the current existingIP flow. In one embodiment, this can include preparation of a RRB. Frommodule 1646, control passes to module 1662 of uplink flow scheduler 634.In one embodiment, this can include uplink of the RRB from CPE 294 d towireless base station 302.

For a new IP flow, control passes to module 1648 from module 1642 of thepacket classification component 1606. In initialize IP flow module 1648,this new IP flow is initialized for presentation to module 1652. Module1652 presents the IP data flow (in particular, the reservation requestblock data packet) to module 1662 of uplink flow scheduler 634. Inmodule 1650, the QoS class for the IP flow is presented to scheduler634, preferably by inclusion in a RRB.

7. Uplink Flow Scheduler

The exemplary logical flow diagram for the uplink flow scheduler 634 ofFIG. 16B comprises IP flow QoS class queuing processor module 1662, MACuplink subframe scheduler module 1666, hierarchical class-based priorityprocessor module 1674, VPN DEN data table module 1672, SLA priority datatable 1670, CPE IP flow queue depth status processor 1682 and link layeracknowledgment processor module 1678.

Uplink flow scheduler 634 of FIG. 16B also includes QoS class queues forclass 1, 1664 a; class 2, 1664 b; class 3, 1664 c; class 4, 1664 d;class 5, 1664 e; and class 6, 1664 f; and MAC uplink subframes: frame n1668 a; frame n+1, 1668 b; frame n+2, 1668 c; frame n+3, 1668 d, . . .frame n+p, 1668 k.

In one embodiment, uplink flow scheduler 634 is physically located inwireless base station 302, although those skilled in the art willrecognize that the same functionality can be located remotely fromwireless base station 302. For example, in another embodiment, uplinkflow scheduler 634 can be located at CPE station 294 d and is incommunication with other CPE stations 294 and the wireless base station302.

Uplink flow scheduler 634 is used to schedule the uplink subframe. Theentire frame is divided into an uplink portion (called an uplinksubframe) for transmitting uplink frames, and a downlink portion (calleda downlink subframe) for transmitting downlink frames.

Illustrated in FIG. 16B are WAP antenna 290 d, the wireless medium, RFtransceiver subscriber antenna 292 d, subscriber CPE station 294 d andsubscriber workstation 120 d. WAP 290 d and RF transceiver subscriberantenna 292 d respectively provide a wireless connection betweenwireless base station 302 (where uplink flow scheduler 634 resides inone embodiment) and subscriber CPE station 294 d, which can transmitupstream an IP flow from an application running on client computer 120d. WAP 290 d serves as a wireless gateway for data network 142, and RFtransceiver subscriber antenna 292 d serves as a wireless gateway forsubscriber CPE station 294 d to uplink the IP flow packet data.

Also illustrated in FIG. 16B is data interface 320, which provides aconnection from uplink flow scheduler 634 for sending uplinked IP flowpackets on to data router 140 d of data network 142 and on to adestination host computer 136 a. These connections are also illustratedin FIGS. 2D and 3B.

The previous frame includes an uplink reservation request which isreceived by the wireless base station from a subscriber CPE station 294d. At this point, the reservation request block has been identified,characterized, classified, and presented, preferably at the CPE station294 d, and has been transmitted to uplink flow scheduler 634 from uplinkflow analyzer 632 at the CPE 294 d. In particular, the reservationrequest block is presented to IP flow QoS class queuing processor module1662 from module 1650. Module 1662 informs MAC uplink subframe scheduler1666 of the reservation.

In turn, MAC uplink subframe scheduler 1666 uses a slot in the subframeto acknowledge receipt of the request called the acknowledgment requestblock (ARB). An exemplary slot used to convey the frame, slot, and IPflow identifier for this reservation is described with respect to FIG.12. Scheduler 1666 transmits in this reservation slot the CPEidentification data, along with which future slot(s) and frame(s) therequesting subscriber CPE station 294 d is permitted to use for uplinkof the requested data packet IP flow transmissions.

The future slot(s) in the future frame(s) are assigned, e.g., based oninputs from hierarchical class-based priority processor module 1674, VPNDEN data table 1672 and service level agreement (SLA) priority datatable 1670. These components function in a similar manner tohierarchical class-based priority processor module 1574, VPN DEN datatable 1572 and service level agreement (SLA) priority data table 1570,described with respect to the downlink flow scheduler 604.

When IP flow QoS class queuing processor module 1662 receives packets ofan existing or new IP flow from IP flow presentation module 1608, itthen creates class queues 1664 a-1664 f, which is a variable number ofqueues, and places the packets in these class queues. In a preferredembodiment there are between 3 and 10 classes. These queues holdreservation request packets for scheduling. Packets are placed in classqueues 1664 a-1664 f according to the contents of the reservationrequest block for input to module 1662.

Module 1662 receives inputs from hierarchical class-based priorityprocessor module 1674, VPN DEN data table 1672 and service levelagreement (SLA) priority data table 1670. The queuing function of module1662 is based on these inputs. These components.function analogously totheir counterparts in the downlink flow scheduling method. SLA prioritydata table 1670 and VPN DEN data table 1672 receive input fromoperations, administration, maintenance and provisioning (OAM&P) module.1108. OAM&P module 1108 provides updates to priorities when, e.g., asubscriber modifies its service level agreement or a VPN subscription ischanged.

MAC uplink subframe scheduler 1666 takes the requests queued in classqueues 1664 a-1664 f, and schedules reservations of slots in frames 1668a-1668 k, which is a variable number of frames. In one embodiment, eachframe is scheduled with up to a predetermined number limit or percentagelimit of packets from each of the classes 1664 a-1664 f. The requestscan be scheduled as shown in FIG. 13, taking into account certainpriorities. In another embodiment, the frames are scheduled according tothe inventive advanced reservation algorithm method for schedulingisochronous type traffic described with respect to FIG. 14. In yetanother embodiment, the frames are scheduled according to a combinationof known methods and the advanced reservation algorithm method of thepresent invention.

The reservation slot schedule can then be sent down to the CPE stations294 using, e.g., FDB slots such as 1236 g and 1236 h of FIG. 12F. Theuplink slots can then be inserted by. CPE station 294 d into the uplinksubframe as scheduled. The frame slots are then transmitted up from CPEstation 294 d to wireless base station 302 and are then sent on aspackets to their destination addresses. For example, from wireless basestation 302 the packets can be transmitted over data network 142 to ahost computer 136 a.

After the uplink packets are received by the wireless base station 302,the wireless base station 302 sends an upstream acknowledgment datablock (UAB) message back down to the transmitting subscriber CPE station294 d, to acknowledge receipt of the transmitted data packets.

Every once in a while, a packet is lost through noise or otherinterference in the wireless medium. When this situation arises, thesubscriber CPE station 294 d determines that it has not received a UABdata acknowledgment, so it sends a retransmit request requesting anotheruplink reservation slot to wireless base station 302 via WAP 290 d,which transmits the request to link layer acknowledgment (ARQ) processor1678. ARQ processor 1678 informs MAC uplink subframe scheduler 1666 ofthe need of retransmission (i.e. the need of a frame slot reservationfor resending the uplink packet). CPE subscriber station 294 d can alsosend to ARQ processor 1678, other data messages about nonreceipt ofuplink transmission acknowledgments. The ARQ 1678 can forward suchmessages on to the uplink subframe scheduler 1666. The uplink subframescheduler 1666 in turn reschedules the requested uplink reservation fromthe appropriate class queues 1664 a-1664 f. Alternatively, in anotherembodiment, link layer acknowledgment processor 1678 can also send apositive UAB acknowledgment to the subscriber CPE station 294 d, toindicate that the data packets have been properly received. Thus uplinkscheduler 1666 in addition to scheduling first time reservations, alsocan schedule repeat reservations for lost packets.

Each subscriber CPE station 294 d has a limited amount of memory spaceavailable for queuing packets received from subscriber workstations 120d awaiting reservation slots of uplink from the CPE 294 d to wirelessbase station 302. When, for example, the queue of subscriber CPE station294 d becomes full from a backup of packets awaiting upstreamreservations, IP data flows can potentially be lost, or packets maybecome stale. In this scenario, subscriber CPE station 294 d transmits aCPE IP flow queue depth message 1680 to the wireless base station 302indicating that the queue is filled up, which can be received by CPE IPflow queue depth status processor 1682. Processor 1682 can inform MACuplink subframe scheduler 1666 of this condition, which can, e.g.,increase temporarily the priority of IP flows at subscriber CPE station294 d to overcome the backlog or can, e.g., stop transmitting additionaldownlink packets to the CPE station 294 d until the queue depth backlogis decreased to an acceptable level again. Processor 1682 can also sendmessages to MAC uplink subframe scheduler 1666 to flush reservationrequests from the subscriber CPE station 294 d in class queues 1664a-1664 f.

4. TCP Adjunct Agent

TCP is a reliable transport protocol tuned to perform well intraditional networks where congestion is the primary cause of packetloss. However, networks with wireless links incur significant losses dueto bit-errors. The wireless environment violates many assumptions madeby TCP, causing degraded end-to-end performance. See for example,Balakrishnan, H., Seshan, S. and Katz, R. H., “Improving ReliableTransport and Handoff Performance in Cellular Wireless Networks,”University of California at Berkeley, Berkeley, Calif., accessible overthe Internet at URL,http://www.cs.berkeley.edu/˜ss/papers/winet/html/winet.html, dealingmore directly with handoffs and bit errors in a narrowband wirelessenvironment, the contents of which are incorporated by reference.Attempts to address this problem have modified TCP in order to overcomeit. However, this is not a commercially feasible means of overcomingthis challenge. It is impracticable to implement any solution thatrequires a change to the standard operation of TCP.

The present invention uses an enhanced MAC layer which interfaces with aTCP adjunct agent to intercept TCP layer requests to manipulate the TCPlayers at either a source or destination end of a transmission, tomodify TCP behavior at the source and destination of the TCP/IPtransmission which includes an intermediary wireless link. Packets canbe queued at the wireless base station awaiting receipt acknowledgmentand the base station can perform local retransmissions across thewireless link to overcome packet loss caused by high bit-error rates.Communication over wireless links is characterized by limited bandwidth,high latencies, sporadic high bit-error rates and temporarydisconnections which must be dealt with by network protocols andapplications.

Reliable transport protocols such as TCP have been tuned for traditionalwired line networks. TCP performs very well on such networks by adaptingto end-to-end delays and packet losses caused by congestion. TCPprovides reliability by maintaining a running average of estimatedround-trip delay and mean deviation, and by retransmitting any packetwhose acknowledgment is not received within four times the deviationfrom the average. Due to the relatively low bit-error rates over wirednetworks, all packet losses are correctly assumed to be caused bycongestion.

In the presence of the high bit-error rates characteristic of wirelessenvironments, TCP reacts to packet losses as it would in the wiredenvironment, i.e. it drops its transmission window size beforeretransmitting packets, initiates congestion control or avoidancemechanisms (e.g., slow start) and resets its retransmission timer. Thesemeasures result in an unnecessary reduction in the link's bandwidthutilization, thereby causing a significant degradation in performance inthe form of poor throughput and very high interactive delays.

The present invention maintains packets in class queues awaitingacknowledgment of receipt from the subscriber CPE stations.Unacknowledged data slots can then be resent by having the wireless basestation perform local retransmissions to the subscriber CPE station. Byusing duplicate acknowledgments to identify a packet loss and performinglocal retransmissions as soon as the loss is detected, the wireless basestation can shield the sender from the inherently high bit error rate ofthe wireless link. In particular, transient situations of very lowcommunication quality and temporary disconnectivity can be hidden fromthe sender.

For transfer of data from a CPE subscriber host to a wireless basestation host, missing packets are detected at the wireless base stationand negative acknowledgments can be generated for them. The negativeacknowledgments can request that the packet be resent from the CPEsubscriber host (the sender). The CPE subscriber host can then processthe negative acknowledgment and retransmit corresponding missingpackets. Advantageously, no modifications to the sender TCP or receiverTCP is necessary, since the present invention places TCP awarefunctionality in the MAC layer.

FIG. 5A illustrates flow 500 depicting IP flows from a source TCP at asubscriber host, down a protocol stack for transmission through a CPEsubscriber station, through a wireless medium to a wireless basestation, up and through a protocol stack at the wireless base stationhaving an example TCP adjunct agent, then through a wireline connectionand through a protocol stack to a destination host. The adjunct TCPagent modifies operation of a TCP sliding window algorithm at thetransmitting TCP and in cooperation with proactive reservation-basedintelligent multi-media access technology (PRIMMA) media access control(MAC) enables local retransmission over the wireless medium in accordwith the present invention.

Specifically, flow 500 illustrates IP packet flow from subscriberworkstation 120 d, through CPE subscriber station 294 d at CPEsubscriber location 306 d, then over a wireless transmission medium towireless base station 302, and eventually over a wireline link over datanetwork 142 to host workstation 136 a.

TCP adjunct agent 510 e makes sure transport is reliable by modifyingoperation of the TCP sliding window algorithm at the transmitting TCP ina manner that optimizes the window for the wireless medium. TCP adjunctagent 510 e advantageously is transparent to industry standard protocolsas agent 510 e does not require modification of the standard TCP/UDPlayer of client subscriber workstation 120 d or host workstation 136 a.

Flow 500 includes IP flows from application layer 512 a, down theprotocol stack through TCP/UDP layer 510 a, through IP layer 508 a, thenthrough point-to-point (PPP) layer 520 a, then through data linkEthernet layer 504 a, then through 10BaseT Ethernet network interfacecard (NIC) physical layer 502 a, over a wire line connection to 10BaseTEthernet NIC physical layer 502 b of subscriber CPE 294 d.

Subscriber CPE 294 d flows packets coming in from NIC 502 b, back up itsprotocol stack through Ethernet layer 504 b, through PPP layers 520 band 520 c, back down through PRIMMA MAC 504 c to wireless physical layer502 c including antenna 292 d, then over the wireless medium to antenna290 d of wireless base station 302.

Wireless base station 302 flows packet IP flows up from antenna 290 d atphysical layer 502 d through PRIMMA MAC layer 504 d, through PPP layer520 a, through IP layer 508 d to TCP adjunct agent 510 e, which can flowIP flows down through IP layer 508 e, through PPP layer 520 e, throughwide area network (WAN) layer 504 e, through wireline physical layer 502e, through interface 320, over routers 140 d, through data network 142,via wireline connections to wireline layer 502 f of WAN host workstation136 a.

Host workstation 136 a flows IP flows from wireline layer 502 f, upthrough its protocol stack through WAN layer 504 f, through PPP layer520 f, through IP layer 508 f, to TCP/UDP layer 510 f and on toapplication layer 512 f.

TCP/UDP layers 510 a and 510 f act to provide such transport functionsas, e.g., segmentation, managing a transmission window, resequencing,and requesting retransmission of lost packet flows. Normally TCP layers510 a and 510 f would send a window of packets and then awaitacknowledgment or requests for retransmission. A TCP sliding windowalgorithm is normally used to vary the transmission flow to provideoptimized transport and to back off when congestion is detected byreceipt of requests for retransmission. Unfortunately in the wirelessenvironment, due to high bit error rates, not all packets may reach thedestination address, not because of congestion, but rather because ofhigh bit error rates, so as to prompt a retransmission request from thedestination IP host to the source. Rather than slow transport, TCPadjunct agent 510 e modifies operation of the TCP sliding windowalgorithm to optimize operation over wireless. PRIMMA MAC layer 504 dinteracts with TCP adjunct agent 510 e permitting the agent tointercept, e.g., retransmission requests, from TCP layer 510 a ofsubscriber workstation 120 d intended for host 136 a, and allowing thewireless base station to retransmit the desired packets or flows tosubscriber workstation 120 d rather than forwarding on theretransmission request to host 136 a, since the packets could still bestored in the queue of PRIMMA 504 d and would not be discarded until anacknowledgment of receipt is received from the subscriber CPE. Sinceretransmission can be performed according to the present invention atthe PRIMMA MAC data link layer, i.e. layer 2, retransmission can occurfrom the base station to the CPE subscriber, rather than requiring aretransmission from all the way over at the transmitting source TCPwhich would cause TCP to backoff its sliding window algorithm. Thus, byhaving wireless base station 302 retransmit until receipt isacknowledged over the wireless link, the inherently high bit error ratecan be overcome, while maintaining an optimal TCP window.

Recall, a TCP transmitter transmits a TCP sliding window block ofpackets and alters the size of the window upon detection of congestion.The TCP transmitter transports a block of packets in a window, and thenawaits acknowledgment from the receiver. If transmission is goingsmoothly, i.e. no congestion or lost packets occur, then the transmitterTCP ramps up the transmission rate. This increased transmission ratecontinues until the transmitting TCP detects congestion or packet loss.When notified of congestion, the transmitting TCP stops transmitting,backs off and sends a smaller block (i.e. a smaller window) of packets.

TCP adjunct agent modifies normal TCP operation by tricking thetransmitting TCP and its transmitting window algorithm. The TCP adjunctagent prevents the transmitter from being notified of loss, i.e.receiving congestion notification, from the receiving TCP by, e.g.,preventing duplicate retransmission requests. Since the transmitting TCPdoes not receive such notification, it does not modify the TCP slidingwindow and transmission continues at the higher rate.

In the event that real congestion occurs, i.e. if the TCP adjunct agentrecognizes packets really were lost, then the TCP adjunct agent can letthe retransmission request go through to the transmitting TCP. This isadvantageously accomplished because the MAC link layer of the presentinvention is in communication with the higher protocol layers, it isapplication aware, transport aware and network aware. In this case,because the MAC layer is transport layer aware, PRIMMA MAC layer 504 dcommunicates with the TCP adjunct agent 510 e at layer 4. Since the MACrequires acknowledgment of receipt of wireless transmissions sent to theCPE subscriber station 294 d for every packet sent from the wirelessbase station 302, the MAC layer 504 d knows whether an inter-TCP layercommunication, e.g., a request for retransmission, is sent from a clientcomputer TCP at the CPE station is created because the lost packet waslost in wireless transmission, or because of real congestion.

If PRIMMA MAC 504 d does not receive an acknowledgment from 504 c, thenthe PRIMMA MAC 504 d of wireless base station 302 can retransmit thecontents of the lost packet to the subscriber CPE station 294 d. If thePRIMMA MAC 504 c of the subscriber CPE station 294 d acknowledgesreceipt and still requests a retransmission, then real congestion couldhave occurred and the PRIMMA MAC 504 d of the wireless base station 302can let the TCP adjunct agent 510 e know that it should allow theretransmission request to be sent to the transmitting TCP 510 f of hostworkstation 136 a.

Thus, TCP adjunct agent 510 e of the present invention can modifyoperation of the TCP sliding window algorithm in a manner that isoptimal for the wireless medium, without requiring any change tocommercially available TCP layers 510 a and 510 f at the receiver andsender hosts. In an embodiment, TCP adjunct agent 510 e obviates theneed for any modification of the TCP layers at either the sending (i.e.transmitting) host or client. In another embodiment the host and clientTCP layers are unaware of the modification of operation by the TCPadjunct agent, i.e. it is transparent to source and destination TCPlayers. In another embodiment, TCP adjunct agent 510 e interceptsretransmission requests between a TCP layer of the client computercoupled to the subscriber CPE station and the TCP layer of the hostworkstation coupled to the data network.

FIG. 5B illustrates functional flow diagram 522 including an examplefunctional description of TCP adjunct agent 510 e performing an outgoingTCP spoof function. Referring to FIG. 5B and 5A, diagram 522 assumesthat a TCP layer 510 f at a transmitting host 136 a has transmitted awindowful of packet data to subscriber workstation 120 d, and awaitsacknowledgment. Diagram 522 illustrates receipt of an outgoing TCPmessage 524 in TCP adjunct agent 510 e at wireless base station 302which has been sent from subscriber workstation 120 d via subscriber CPEstation 294 d.

In step 526, the TCP header contents of outgoing TCP message 524 isparsed in order to reveal the contents of the message being sent fromsubscriber workstation 120 d through the wireless network toward thetransmitting host 136 a.

In step 528, it is determined whether the TCP header contents includes aduplicate acknowledgment message from the CPE station. Receiving aduplicate acknowledgment request from the CPE subscriber location couldbe indicative of a lost message in the wireless medium, or a realcongestion problem. If in step 528 the TCP packet is determined to be aduplicate acknowledgment message, then processing can continue with step532, if not, then processing can continue with step 530.

In step 530, it is determined that there was real congestion, i.e., thiswas not a duplicate acknowledgment message caused by retransmissionattempts at the wireless link layer. Thus, in step 530, the TCP messageis permitted to pass through TCP adjunct 510 e without modification, andcan continue through flow 500 to TCP layer 510 f of FIG. 5A.

In step 532, since there was a duplicate acknowledgment detected in step528, it is determined whether the packet was successfully transmitted,or not. Step 532 is performed via intercommunication between TCP adjunctagent 510 e and PRIMMA MAC layer 504 d. This is an example of theinteractivity between PRIMMA MAC and higher layer protocols illustratedas line 428 in FIG. 4. PRIMMA MAC layer 504 d can identify whether apacket was successfully sent from wireless base station 302 to CPEstation 294 d since, as illustrated in FIG. 15B, requests forretransmission 1576 are received from CPE station 294 d at link layeracknowledgment (ARQ) processor 1578 to MAC downlink subframe scheduler1566 alerting the scheduler 1566 to retransmit the lost packet in afuture frame 1568. If in step 532, it is determined that the packet wassuccessfully transmitted, then processing can continue with step 530, asdescribed above. If however it is determined that the packet was notsuccessfully transmitted, then processing continues with step 534.

In step 534, since the packet was not successfully transmitted, TCPadjunct agent 510 e can suppress transmission of TCP message 524 sinceit can be assumed that the packet was lost in the wireless medium.Processing can continue with step 536.

In step 536, TCP adjunct agent 510 e can wait for notification fromPRIMMA MAC 504 d that a successful link layer retransmission of the lostpacket was received at link layer acknowledgment processor 1578. Fromstep 536, processing can continue with step 538.

In step 538, upon receipt of acknowledgment of a successful PRIMMA MAC504 d link layer retransmission, then normal TCP messages can beresumed.

In another step (not shown), TCP adjunct agent and PRIMMA MAC layers canset a limit of a threshold number of retransmission attempts, and ifthat threshold is reached, then processing can continue with step 530 topermit the TCP message to pass without modification.

FIG. 5C illustrates functional flow diagram 540 including an examplefunctional description of TCP adjunct agent 510 e performing an incomingTCP spoof function. Referring to FIG. 5C and 5A, diagram 540 assumesthat a TCP layer 510 a at a transmitting subscriber workstation 120 dhas transmitted a windowful of packet data to host 136 a, and awaitsacknowledgment. Diagram 544 illustrates receipt of an incoming TCPmessage 542 in TCP adjunct agent 510 e at wireless base station 302which has been sent from host workstation 136 a via data network 142 fortransmission over the wireless medium to subscriber CPE 294 d tosubscriber workstation 120 d.

In step 544, the TCP header contents of ingoing TCP message 542 isparsed in order to reveal the contents of the message being sent fromhost 136 a through the wireless network toward the transmittingsubscriber workstation 120 d.

In step 546, it is determined whether the TCP header contents includes aduplicate acknowledgment message from host 136 a. Receiving a duplicateacknowledgment request from the host could be indicative of a lostmessage in the wireless medium, or a real congestion problem. If in step546 the TCP packet is determined to be a duplicate acknowledgmentmessage, then processing can continue with step 550, if not, thenprocessing can continue with step 548.

In step 548, it is determined that there was real congestion, i.e., thiswas not a duplicate acknowledgment message caused by retransmissionattempts at the wireless link layer. Thus, in step 548, the TCP messageis permitted to pass through TCP adjunct 510 e without modification, andcan continue through flow 500 to TCP layer 510 a of FIG. 5A.

In step 550, since there was a duplicate acknowledgment detected in step546, it can be determined whether the packet was successfullytransmitted, or not. Step 550 can be performed via intercommunicationbetween TCP adjunct agent 510 e and PRIMMA MAC layer 504 d. This is anexample of the interactivity between PRIMMA MAC and higher layerprotocols illustrated as line 428 in FIG. 4. PRIMMA MAC layer 504 d canidentify whether a packet was successfully sent from CPE station 294 dto wireless base station 302, as illustrated in FIG. 16B, requests forretransmission 1676 are received from CPE station 294 d at link layeracknowledgment (ARQ) processor 1678 to MAC downlink subframe scheduler1666 alerting the scheduler 1666 to retransmit the lost packet in afuture frame 1668. If in step 550, it is determined that the packet wassuccessfully transmitted, then processing can continue with step 548, asdescribed above. If however it is determined that the packet was notsuccessfully transmitted, then processing continues with step 552.

In step 552, since the packet was not successfully transmitted, TCPadjunct agent 510 e can suppress transmission of TCP message 542 sinceit can be assumed that the packet was lost in the wireless medium.Processing can continue with step 554.

In step 554, TCP adjunct agent 510 e can wait for notification fromPRIMMA MAC 504 d that a successful link layer retransmission of the lostpacket was received at link layer acknowledgment processor 1678. Fromstep 554, processing can continue with step 556.

In step 556, upon receipt of acknowledgment of a successful PRIMMA MAC504 d link layer retransmission, then normal TCP messages can beresumed.

In another step (not shown), TCP adjunct agent and PRIMMA MAC layers canset a limit of a threshold number of retransmission attempts, and ifthat threshold is reached, then processing can continue with step 548 topermit the TCP message to pass without modification.

5. Wireless QoS Aware PRIMMA Media Access Control (MAC) HardwareArchitecture

FIG. 10 illustratively depicts an embodiment of PRIMMA MAC hardwarearchitecture 1000. Architecture 1000 shows data network 142 coupled by awireline bidirectional connection to WAN interface 320.

WAN interface 320 is bidirectionally linked to a bidirectional dataframe FIFO 1002 which is bidirectionally coupled to both segmentationand resequencing (SAR) 1004 and QoS/SLA rules engine and processor 1008.

QoS/SLA rules engine and processor 1008 is also bidirectionally coupledto IP flow buffers 1014 and flash random access memory (RAM) 1010.

SAR 1004 is bidirectionally coupled to IP flow buffers 1014, flash RAM1010, QoS/SLA rules engine and processor 1008 and PRIMA MAC schedulerASIC 1012.

PRIMA MAC scheduler ASIC 1012 is also bidirectionally coupled to an RFinterface 290, a static RAM (SRAM) radio cell buffer 1018 and IP blowbuffer 1014.

6. Wireless Base Station Software Organization

FIG. 11 is an exemplary software organization for a packet-centricwireless point to multi-point telecommunications system. The softwareorganization of FIG. 11 includes wireless transceiver and RF applicationspecific integrated circuit (ASIC) module 290, IP flow control component1102, WAN interface management component 1104, QoS and SLAadministration component 1106, system and OAM&P component 1108, customerbilling and logging component 1110, directory enabled networking (DEN)component 1112, and wireless base station 320.

IP flow control module 1102 includes transmission queuing control module1102 a,TCP rate control and class of service module 1102 b, wirelessPRIMMA MAC layer engine 1102 c and IP flow identification and analysismodule 1102 d.

WAN interface management component 1104 includes WAN ingress/egressqueuing control module 1104 a, WAN interface ports (e.g., for T1, T3,OC3 ports) 1104 b, firewall and security module 1104 c, and WAN trafficshaping module 1104 d.

The IP Flow control component 1102 and WAN interface managementcomponent 1104 represent the “core” of the system, where the packetprocessing, MAC layer scheduling, TCP proxy agent, and WAN I/F controlfunctions are located. Much of the activities of the “non-core”components described above support and control these core components.

QoS and SLA administration component 1106 includes QoS performancemonitoring and control module 1106 a, service level agreements module1106 b, policy manager module 1106 c and encryption administrationmodule 1106 d.

The QoS and SLA administration component 1106 provides the static dataneeded by the system in order to properly group particular IP-flows intoQoS classes. Typically, during the provisioning phase of installing thesystem, the service provider will (remotely) download pertinentinformation about the subscriber CPE station 294, including thesubscriber CPE stations's SLA, any policy-based information (such ashours of operation or peak data transmission rate allowance.).Encryption keys or “strengths” can also be downloaded, which may besubscriber CPE station or service provider specific.

System OAM&P component 1108 includes SNMP proxy client for WAP module1108 a, SNMP proxy clients for CPE module 1108 b, and system operations,administration, management and provisioning module 1108 c.

The OAM&P component 1108 allows remote service personnel and equipmentto monitor, control, service, modify and repair the system. Systemperformance levels can be automatically monitored, and system traps andtraces can be set. Subscriber complaints can be addressed with the useof remote test and debug services controlled by OAM&P component 1108.System capacity limits can be monitored, and proactive provisioning ofadditional WAN connectivity can occur, as the result of automatic trendanalysis functions in OAM&P component 1108.

Customer billing and logging module 1110 includes account logging anddatabase management module 110 a, transaction query and processingcontrol module 1110 b, billing and account control module 111 c, anduser authentication module 1110 d.

The customer billing and logging component 1110 allows the serviceprovider to receive account, billing and transaction informationpertaining to subscribers in the system. For service providers who billon the basis of usage, cumulative system resource utilization data canbe gathered. For specific types of activities (e.g. video conferencing,multi-casting, etc.) there may be special billing data that is collectedand transmitted to the service provider. This component also controlsthe availability of the system to subscribers through the operation ofthe subscriber authentication function. Once a subscriber is authorizedto use the system, a new subscriber authentication entry is made(remotely) by the service provider. Likewise, a subscriber can be deniedfurther access to the system for delinquent payment for services, or forother reasons. The service provider can also remotely query the systemfor specific account-related transactions.

Directory Enabled Networking (DEN) component 1112 includes DEN QoS 1112a module, DEN management and provisioning 1112 b module, DEN IPSECmodule 1112 c and IP-based VPN control and administration module 1112 d.

The DEN component 1112 allows the service provider the means to inputinto the system relevant information regarding the operation ofDEN-based VPN's of subscribers. Subscriber VPNs need to be “initialized”and “provisioned” so that the system properly allocates system resourcesto subscribers with these VPNs, and provides for the recognition andoperation of these VPNs. Data from DEN component 1112 are utilized bythe system to apply the appropriate priorities to IP-flows of thesubject subscribers.

The invention's packet-centric wireless base station supports directoryenabled networking (DEN), a MICROSOFT, INTEL and CISCO standard forproviding a standard structure for how distributed sites manage IPflows. The present invention prioritizes VPN traffic in a lightweightdirectory access protocol (LDAP)-compliant (LDAP is available fromMICROSOFT of Redmond, Wash.) manner which allows remote administration,provisioning and management. The present invention is also LDAP version2 compliant. The present invention also complies with the X.500 standardpromulgated by the international telecommunicationsunion/telecommunications section (ITU/T), and with the RFC 1777.

In one embodiment, DEN provides policy-based network management, IPseccompatible network security, and IPsec based VPNs. The DEN of thewireless base station 302 is planned to be common information model(CIM) 3.0 compatible (once the specification is finalized). The wirelessbase station 302 can provide native DEN support and supports directorybased DEN QoS mechanisms including reservation model (i.e. RSVP,per-flow queuing), and precedence/priority/differentiated model (i.e.packet marking). Wireless base station 302 can plan support of DENnetwork policy QoS, and until DEN is complete, can support internal QoSand network extensions.

6. IPsec Support

IPsec is introduced above with reference to FIG. 4. IPsec provides astandard method of encrypting packets. In VPN tunnel mode, an entireheader can be encoded, i.e. encrypted. In order for the presentinvention to be able to implement its packet-centric, QoS awareprioritization, during identification of a packet/IP flow, the wirelessbase station needs to be able to analyze the contents of header fieldsof the packets. Therefore, analysis of unencrypted packets is desirable.

The present invention already encrypts the data stream prior totransmitting frames over the wireless medium, so IPsec does not reallyneed to be used over the wireless link to provide for encryptedtransmission. Where a service provider finds it desirable to use IPsec,IPsec can be used for authentication and secure encapsulation of theheader and payload, or just the payload data. IPsec is normallyintegrated at a firewall. If a service provider desires to implement thepresent invention and IPsec, then the present invention should beimplemented behind the firewall, i.e. the firewall can be moved to thewireless base station. This permits ending the IPsec stream at the basestation which can provide the base station access to packet headerfields.

FIG. 17 illustrates IP flow in the downlink direction including IPsecencryption. Similarly, FIG. 18 illustratively depicts an uplinkdirection of IPsec support of the present invention.

FIG. 17 illustrates downlink flow 1700 depicting downlink direction IPflows from a source host workstation 136 a, down a protocol stack whichsupports IPsec, for transmission up and through wireless base station302 which is coupled to data network 142, through encryption layers,then through the wireless link to subscriber CPE 294 d, up and through aprotocol stack at the subscriber CPE 294 d, then through a wirelineconnection to data network 142 and up through the protocol stack to thedestination subscriber workstation 120 d at subscriber location 306 d.

Specifically, flow 1700 illustrates IP packet flow from host workstation136 a, through wireless base station 302, then over a wirelesstransmission link to subscriber CPE 294 d, and over a wireline link tosubscriber workstation 120 d.

Host workstation 136 a flows IP flows down from application layer 1712h, down through TCP/UDP layer 1710 h, through IP layer 1708 h, throughoptional PPP layer 1706 h, through Ethernet layer 1705 h, down through10BaseT layer 1702 h, over data network 142 to 10BaseT layer 1702 g,then up through Ethernet 1704 g, up its protocol stack through optionalPPP layer 1706 g to IP layer 1708 g and 1708 h, back down throughInternet firewall and IPsec security gateway 1706 f, down through WANlayer 1704 f, to wireline layer 1702 f to data network 142 to wirelinephysical layer 1702 e.

Wireline physical layer 1702 e of wireless base station 302, flows IPflows up the protocol stack through WAN layer 1704 e through IPsecsecurity gateway 1706 e and firewall to IP network layer 1708 e and 1708d and then down through encryption layer 1706 d, PRIMMA MAC layer 1704 dand down to wireless link to subscriber CPE 294 d.

Subscriber CPE 294 d flows packet IP flows up from antenna 292 d atphysical wireless layer 1702 c up through MAC layer 1704 c, throughencryption layer 1706 c, through IP layers 1708 b and 1708 c, then downthrough optional layer 1706 b to Ethernet layer 1704 b to 10BaseTconnection 1702 b to 10BaseT connection.

Subscriber workstation 120 d flows IP flows up from 10BaseT layer 1702 aup through its protocol stack through Ethernet layer 1704 a, throughoptional PPP layer 1706 a, through IP layer 1708 a, to TCP/UDP layer1710 a and on up to application layer 1712 a.

FIG. 18 illustrates uplink flow 1800 depicting uplink direction IP flowsfrom a source TCP at subscriber workstation 120 d at CPE location 306 d,down a protocol stack for transmission through Ethernet coupled CPEsubscriber station 294 d through wireless medium to wireless basestation 302, up and through a protocol stack at the wireless basestation 302 which supports IPsec, then through a wireline connection todata network 142 and through a protocol stack to a destination host.

Specifically, flow 1800 illustrates IP packet flow from subscriberworkstation 120 d, through subscriber CPE 294 d, then over a wirelesstransmission medium to wireless base station 302, and eventually over awireline link to host workstation 136 a.

Flow 1800 includes IP flows from application layer 1812 a, down theprotocol stack through TCP/UDP layer 1810 a, through IP layer 1808 a,then through optional point-to-point (PPP) layer 1806 a, then throughdata link Ethernet layer 1804 a, then through 10BaseT Ethernet networkinterface card (NIC) physical layer 1802 a, over a wire line connectionto 10BaseT Ethernet NIC physical layer 1802 b of subscriber CPE 294 d.

Subscriber CPE 294 d flows packets coming in from NIC 1802 b, back upits protocol stack through Ethernet layer 1804 b, through optional PPPlayer 1806 b to IP layer 1808 b and 1808 c, back down through anInternet firewall and IPsec security gateway 1806 c, down through PRIMMAMAC 1804 c to wireless physical layer 1802 c including antenna 292 d,then over the wireless medium, such as, e.g., RF communication, cableRF, and satellite link, to antenna 290 d of wireless base station 302 atwireless physical layer 1802 d.

Wireless base station 302 flows packet IP flows up from antenna 290 d atphysical wireless layer 1802 d up through MAC layer 1804 d, throughIPsec layers 1806 d and 1806 d, which can encapsulate packets andencrypt them. From IPsec layer 1806 e, IP flows can flow down throughWAN layer 1804 e and through wireline physical layer 1802 e over datanetwork 142.

Wireline physical layer 1802 f flows IP flows up the protocol stackthrough WAN layer 1804 f through IPsec security gateway 1806 f andfirewall to IP network layer 1808 f and 1808 g and then down throughoptional PPP layer 1806 h, Ethernet layer 1804 h and down through10BaseT layer 1802 g, through interface 320, over routers 140 d, throughdata network 142, via wireline connections to 10BaseT physical layer1802 h of host workstation 136 a.

Host workstation 136 a flows IP flows up from 10BaseT layer 1802 h upthrough its protocol stack through Ethernet layer 1805 h, throughoptional PPP layer 1806 h, through IP layer 1808 h, to TCP/UDP layer1810 h and on to application layer 1812 h.

IV. Conclusion

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. Thus, the breadth and scope of thepresent invention should not be limited by any of the above-describedexemplary embodiments, but should be defined only in accordance with thefollowing claims and their equivalents.

What is claimed is:
 1. A method for assigning future slots of atransmission frame to a data packet in the transmission frame fortransmission over a wireless medium, comprising: applying a reservationalgorithm; reserving a first slot for a first data packet of an internetprotocol (IP) flow in a future transmission frame based on saidreservation algorithm; and reserving a second slot for a second datapacket of said IP flow in a transmission frame, subsequent in time tosaid future transmission frame based on said reservation algorithm,wherein said second data packet is placed in said second slot in anisochronous manner to the placing of said first data packet in saidfirst slot.
 2. The method of claim 1, wherein there is a periodicvariation between the placing of said first data packet in said firstslot and the placing of second data packet in said second slot.
 3. Themethod of claim 1, wherein there is no periodic variation between theplacing of said first data packet in said first slot and the placing ofsecond data packet in said second slot.
 4. The method of claim 1,wherein said reservation algorithm determines whether said IP flow isjitter-sensitive.
 5. A method for providing isochronous data packets ina telecommunications system, said telecommunications system comprising:a wireless base station coupled to a first data network; one or morehost workstations coupled to said first data network; one or moresubscriber customer premise equipment (CPE) stations in wirelesscommunication with said wireless base station over a shared wirelessbandwidth using a packet-centric protocol; and one or more subscriberworkstations coupled to each of said subscriber CPE stations over asecond network; resource allocation means optimizing end-user quality ofservice (QoS) and allocating said shared wireless bandwidth among saidsubscriber CPE stations, said method comprising: applying a reservationalgorithm to an internet protocol (IP) flow; and reserving succeedingslots in one or more succeeding future transmission frames of said IPflow in an isochronous manner based on said reservation algorithm. 6.The method of claim 5, wherein there is a periodic variation between thesuccessive reserving of said succeeding slots.
 7. The method of claim 5,wherein there is no periodic variation between the successive reservingof said succeeding slots.
 8. The method of claim 5, wherein saidreservation algorithm determines whether said IP flow isjitter-sensitive.
 9. A system for assigning future slots of atransmission frame to a data packet in the transmission frame fortransmission over a wireless medium, comprising: means for applying areservation algorithm; means for reserving a first slot for a first datapacket of an internet protocol (IP) flow in a future transmission framebased on said reservation algorithm; means for reserving a second slotfor a second data packet of said IP flow in a transmission framesubsequent in time to said future transmission frame based on saidreservation algorithm, wherein said second data packet is placed in saidsecond slot in an isochronous manner to the placing of said first datapacket in said first slot.
 10. The system of claim 9, comprising: meansfor providing a periodic variation between the placing of said firstdata packet in said first slot and the placing of second data packet insaid second slot.
 11. The system of claim 9, comprising: means forproviding no periodic variation between the placing of said first datapacket in said first slot and the placing of second data packet in saidsecond slot.
 12. The system of claim 9, wherein said reservationalgorithm comprises: means for determining whether said IP flow isjitter-sensitive.
 13. The system of claim 9, wherein said means forreserving said first and said second slots comprises a packet scheduler.14. The system of claim 13, wherein said packet scheduler is executed onat least one of: a wireless base station; and a subscriber CPE station.15. The system of claim 14, wherein said wireless base station comprisesa wireless access point (AP).
 16. The system of claim 13, wherein saidsubscriber CPE station comprises a wireless station (STA) including atleast one of a wireless local area network (LAN) station, and a wirelesswide area network (WAN) station.
 17. The system of claim 13, whereinsaid packet scheduler is application aware including awareness of atleast one of an end user data application, a voice over InternetProtocol (VoIP) end user data application, and a video end user dataapplication.
 18. A system for providing isochronous data packets in atelecommunications system, the telecommunications system comprising: awireless base station coupled to a first data network; one or more hostworkstations coupled to said first data network; one or more subscribercustomer premise equipment (CPE) stations in wireless communication withsaid wireless base station over a shared wireless bandwidth using apacket-centric protocol; and one or more subscriber workstations coupledto each of said subscriber CPE stations over a second network; resourceallocation means optimizing end-user quality of service (QoS) andallocating said shared wireless bandwidth among said subscriber CPEstations, said system comprising: means for applying a reservationalgorithm to an internet protocol (IP) flow; and means for reservingsucceeding slots in one or more succeeding future transmission frames ofsaid IP flow in an isochronous manner based on said reservationalgorithm.
 19. The system of claim 18, comprising: means for providingno periodic variation between the successive reserving of saidsucceeding slots.
 20. The system of claim 18, comprising: means forproviding a periodic variation between the successive reserving of saidsucceeding slots.
 21. The system of claim 18, wherein said reservationalgorithm comprises: means for determining whether said IP flow isjitter-sensitive.